代码拉取完成,页面将自动刷新
var path = require('path')
var webpack = require('webpack')
var ExtractTextPlugin = require("extract-text-webpack-plugin")
var node_module_dir = path.resolve(__dirname, 'node_module')
module.exports = {
entry: {
app: [path.resolve(__dirname, 'app/main.js'), ],
common: ['react','react-dom','mobx','mobx-react']
},
output: {
path: path.resolve(__dirname, 'build/static/js'),
chunkFilename: '[name].[chunkhash:5].js',
// 这里需要根据服务器来更改,
publicPath:'/static/js/',
filename: 'app.[chunkhash:5].js'
},
module: {
rules: [{
test: /\.(js|jsx)$/,
use: ["babel-loader"],
include: [path.resolve(__dirname, 'app')],
exclude: [node_module_dir],
},
{
test: /\.css$/,
use: ExtractTextPlugin.extract({
fallback: "style-loader",
use: 'css-loader?minimize&modules&localIdentName=_[local]_[hash:base64:5]',
}),
include: [path.resolve(__dirname, 'app')],
exclude: [node_module_dir],
},
]
},
node: {Buffer: false},
plugins: [
new webpack.DefinePlugin({
__DEV__: JSON.stringify(JSON.parse(process.env.BUILD_DEV || 'false'))
}),
new webpack.LoaderOptionsPlugin({minimize: true}),
new webpack.optimize.UglifyJsPlugin({
// 最紧凑的输出
beautify: false,
// 删除所有的注释
comments: false,
compress: {
// 在UglifyJs删除没有用到的代码时不输出警告
warnings: false,
// 删除所有的 `console` 语句
// 还可以兼容ie浏览器
drop_console: true,
// 内嵌定义了但是只用到一次的变量
collapse_vars: true,
// 提取出出现多次但是没有定义成变量去引用的静态值
reduce_vars: true,
}
}),
new webpack.NamedModulesPlugin(),
new webpack.DefinePlugin({
"process.env": {
NODE_ENV: JSON.stringify("production")
}
}),
new webpack.optimize.CommonsChunkPlugin({
name: 'common',
minChunks: 2,
filename:'common.[chunkhash:5].js'
}),
new webpack.optimize.CommonsChunkPlugin({
name: 'manifest',
chunks: ['common'],
filename:'manifest.[chunkhash:5].js'
}),
new ExtractTextPlugin({
filename:(getPath) => {
return getPath('../css/[name].css').replace('css/js', 'css');
},
allChunks:true
}),
],
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。