const path = require('path')
const webpack = require('webpack')
const ExtractTextPlugin = require('extract-text-webpack-plugin')
var htmlWebpackPlugin = require("html-webpack-plugin");
module.exports = {
entry: {
'index': './assets/js/index.es6'
},
output: {
// path:指定编译的路径
path: path.join(__dirname, './assets/'),
// publicPath:给每个编译好的文件,在html中前面加上同样的路径
publicPath: './',
filename: 'js/[name].bundle.js'
},
module: {
rules: [{
test: /\.es6$/,
use: [{
loader: 'babel-loader',
options: {
presets: [
['env', {
//关闭babel编译es6,打开treeShaking
modules: false
}],
]
}
}]
}, {
test: /\.less$/i,
use: ExtractTextPlugin.extract({
// fallback 所有的loader都失败了,才调用这个
fallback: 'style-loader',
use: [{
loader: 'css-loader'
}, {
loader: 'less-loader'
}]
})
}]
},
// 放到cdn,就不需要打包进项目了
external:{
jquery:'window.$'
},
plugins: [
new ExtractTextPlugin("css/[name].css"),
//提取出公用代码
new webpack.optimize.CommonsChunkPlugin({
name: 'common',
minChunks: 2,
filename: 'js/[name].js'
}),
// 自动把静态文件插入html
new htmlWebpackPlugin({
filename: 'index.html',
template: './index.html',
inject: true
}),
// treeShaking 开启压缩,自动去除没用到不需要的代码
new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: true
},
output: {
comments: false
},
sourceMap: false
}),
// 把没用的function干掉了,代码看起来更好看
new webpack.optimize.ModuleConcatenationPlugin()
]
}
webpack2-3基本配置
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 1,配置中文 我们来到settings 中下位置可以看到这样几个参数: LANGUAGE_CODE = 'en-u...
- 转自陈明乾的博客,可能有一定更新。 转原文声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、...