webpack部分配置解析

来源:互联网 发布:php foreach用法 编辑:程序博客网 时间:2024/05/24 04:58
var webpack = require('webpack'); 2 var path = require("path"); 3 module.exports = { 4     // context: __dirname + "/src",//The base directory (absolute path!) 5     // 表示入口文件 6     cache: true, 7     entry: { 8         'bundle': './src', 9         // 'app2': '/src/app2'10     },11     minimize: true,12     // 表示输出文件13     output: {14         path: path.join(__dirname, "build"),// 编译好的文件目录15         filename: '[name].min.js',16         chunkFilename: "[chunkhash].min.js"17         // sourceMapFilename: '[file].map'18         // publicPath: "/build/" // 引用你的文件时考虑使用的地址19     },20     // 表示这个依赖项是外部lib,遇到require它不需要编译,21     // 且在浏览器端对应window.React22     externals: [23         {24             'react': 'window.React',25             'react-bootstrap': 'window.ReactBootstrap',26             'jquery': 'window.jQuery'27         }28     ],29 30     module: {31         loaders: [32             // 凡是遇到jsx结尾的,都用jsx-loader这个插件来加载,33             // 且启用harmony模式34             //{ test: path.join(__dirname, 'es6'), loader: 'babel-loader' },'jsx-loader?harmony'35             { test: /\.js$/, loader: 'babel-loader!jsx-loader?harmony' },36             { test: /\.jsx$/, loader: "jsx-loader?insertPragma=React.DOM" },37             { test: /\.less$/, loader: 'style-loader!css-loader!less-loader' }, // use ! to chain loaders38             { test: /\.css$/, loader: 'style-loader!css-loader' },39             { test: /\.(png|jpg)$/, loader: 'url-loader?limit=8192' }, // 内联 base64 URLs, 限定 <=8k 的图片, 其他的用 URL40 41             // required for bootstrap icons42             { test: /\.woff$/, loader: "url-loader?prefix=font/&limit=5000&mimetype=application/font-woff" },43             { test: /\.ttf$/, loader: "file-loader?prefix=font/" },44             { test: /\.eot$/, loader: "file-loader?prefix=font/" },45             { test: /\.svg$/, loader: "file-loader?prefix=font/" }46 47         ]48     },49     resolve: {50         // 现在可以写 require('file') 代替 require('file.coffee')51         extensions: ['', '.webpack.js', '.coffee', '.json', '.js', '.jsx'],52         modulesDirectories: [53             'node_modules',54             'bower_components',55             'lib',56             'src'57         ]58         // alias: {59         //     // Bind version of jquery60         //     jquery: "jquery-2.0.3",61 62         //     // Bind version of jquery-ui63         //     "jquery-ui": "jquery-ui-1.10.3",64 65         //     // jquery-ui doesn't contain a index file66         //     // bind module to the complete module67         //     "jquery-ui-1.10.3$": "jquery-ui-1.10.3/ui/jquery-ui.js",68         // }69     },70     devtool: 'source-map',71     plugins: [72         new webpack.DefinePlugin({// definePlugin 接收字符串插入到代码当中, 所以你需要的话可以写上 JS 的字符串73             __DEV__: JSON.stringify(JSON.parse(process.env.BUILD_DEV || 'true')),74             __PRERELEASE__: JSON.stringify(JSON.parse(process.env.BUILD_PRERELEASE || 'false'))75         }),76         new webpack.optimize.UglifyJsPlugin(),77         new webpack.optimize.CommonsChunkPlugin('common.min.js', 5),78         new webpack.ProvidePlugin({79             // Automtically detect jQuery and $ as free var in modules80             // and inject the jquery library81             // This is required by many jquery plugins82             $: "jquery",83             jQuery: "jquery",84             "window.jQuery": "jquery"85         })86     ]87 };
0 0
原创粉丝点击