var webpack = require('webpack');
var path = require('path');
console.log( path.resolve(__dirname, './src/'),)
module.exports = {
    context: path.resolve(__dirname, './src/'),
    entry: {
        app: './index2.js'
    },
    //输出文件出口
    output: {
        /*
         输出路径，在这我们要手动创建一个文件夹，名字可以自己命名，
         输出的文件路径是相对于本文件的路径
         * */
        path: path.resolve(__dirname, '../dist/'),
        filename: '[name].js' //输出文件名，文件可以自己定义，[name]的意思是与入口文件的文件对应，可以不用[name]，
    },
    /*
     * 标题：加载器（loaders）
     * 作用：需要下载不同别的加载器，如css，js，png等等
     * */
    module: {
        rules: [
            {
                test: /\.jsx?$/,
                exclude: [/node_modules/],
                use: [
                    {
                        loader: 'babel-loader',
                        options: {
                           "presets": [ "es2015", "stage-0", "react"]
                                                }
                    }
                ]
            }
            // Loaders for other file types can go here
        ]
    },
    plugins: [
        new webpack.DefinePlugin({ // <-- key to reducing React's size
          'process.env': {
            'NODE_ENV': JSON.stringify('production')
          }
        }),
        new webpack.optimize.DedupePlugin(), //dedupe similar code 
        new webpack.optimize.UglifyJsPlugin(), //minify everything
        new webpack.optimize.AggressiveMergingPlugin()//Merge chunks 
      ],
    /*
     *
     * */
    resolve: {
          extensions: [' ','.jsx','.js','.json'],
        /*
         * 别名配置，配置之后，可以在别的js文件中直接使用require('d3')，将导入的文件作为一个模块导入到你需要的项目中，不用配置别也可会当作模块导入项目中，只是你要重复写路径而已。
         * */
        alias: {}
    }
}