text: const Webpack = require("webpack")
  const path = require("path")
  const utils = require("./utils")
  const CopyWebpackPlugin = require("copy-webpack-plugin")
  
  const NODE_ENV_VALUE = process.env.NODE_ENV;
  
  module.exports = {
      // 出口
      output: {
          path : utils.resolve("../dist"),
          filename: utils.assetsPath("js/[name].js") ,
          publicPath: "/" // 打包后的资源的访问路径前缀
      },
      // 模块
      module:{
          rules:[
              {
                  test: /\.(js|jsx)$/,//一个匹配loaders所处理的文件的拓展名的正则表达式，这里用来匹配js和jsx文件（必须）
                  exclude: /node_modules/,//屏蔽不需要处理的文件（文件夹）（可选）
                  loader: 'babel-loader',//loader的名称（必须）
                  options:{
                      cacheDirectory: true
                  }
              },
              {
                  test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
                  loader: 'url-loader',
                  options: {
                      limit: 10000, // url-loader 包含file-loader，这里不用file-loader, 小于10000B的图片base64的方式引入，大于10000B的图片以路径的方式导入
                      name: utils.assetsPath('img/[name].[hash:7].[ext]')
                  }
              },
              {
                  test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
                  loader: 'url-loader',
                  options: {
                      limit: 10000, // 小于10000B的图片base64的方式引入，大于10000B的图片以路径的方式导入
                      name: utils.assetsPath('fonts/[name].[hash:7].[ext]')
                  }
              }
          ]
      },
      resolve: {
          extensions: ['.js', '.json'], // 解析扩展。（当我们通过路导入文件，找不到改文件时，会尝试加入这些后缀继续寻找文件）
          alias: {
              '@': path.join(__dirname, '..', "src") // 在项目中使用@符号代替src路径，导入文件路径更方便
          }
      },
      plugins:[
          new Webpack.DefinePlugin({
              'process.env': {
                  APP_ENV:JSON.stringify(NODE_ENV_VALUE)
              },
          }),
          // copy静态目录
          new CopyWebpackPlugin([
              {
                  from: utils.resolve('../static'),  // 从哪个目录copy
                  to: "static", // copy到那个目录
                  ignore: ['.*']
              }
          ]),
      ],
  }