webpack +vue开发(3)

webpack的一些有用的命令

webpack --display-modules

在终端显示这些module,另外一个推荐使用

webpack --display-modules --display-reasons

可以把我们在哪里require都显示出来并且用哪些loader处理

webpack -d //debug
webpack -p //执行一些优化将我们的文件压缩
webpack --watch //或者
webpack -w

-w是缩写这个命令使我们不用每次更改文件都去执行webpack,比如我们修改我们的css文件 把字体颜色改为#fff 保存我们直接刷新浏览器就可以了,嘻嘻。

但是我们还是得去刷新浏览器,webpack还提供了热加载,首先安转webpack的服务

npm install webpack-dev-server --save-dev

这里可以配置的参数

devserver配置选项 功能描述
contentBase 默认webpack-dev-server会为根文件夹提供本地服务器,如果想为另外一个目录下的文件提供本地服务器,应该在这里设置其所在目录(本例设置到“public"目录)
port 设置默认监听端口,如果省略,默认为”8080“
inline 设置为true,当源文件改变时会自动刷新页面
colors 设置为true,使终端输出的文件为彩色的
historyApiFallback 在开发单页应用时非常有用,它依赖于HTML5 history API,如果设置为true,所有的跳转将指向index.html
module.exports = {
devtool:"sourcemap",
entry:"./js/entry.js",
output:{
filename:"bundle.js",
},
module:{
loaders:[
{
test:/\.css$/,
loader:"style!css"
},
{
test:/\.js$/,
loader:"babel",
exclude:/node_modules/,
},
{
test:/\.vue$/,
loader:"vue"
}
]
},
resolve: {
alias: {
'vue$': 'vue/dist/vue.js'
}
},
babel:{
presets:['es2015','stage-0'],
plugins:['transform-runtime']
},
devServer: {
port:"8090",
inline:true,
}
}

这里配置8090端口自动刷新页面,在终端使用命令启动服务器

webpack-dev-server --inline

直接在页面打开http://localhost:8090/更改代码你就可以看到实时刷新了,判断我们是线上环境还是线下环境,然后做一些区别:

var debug = process.env.NODE_ENV !== "production";
module.exports = {
devtool:debug ? "sourcemap" : null,//线下才生产sourcemap
entry:"./js/entry.js",
output:{
filename:"bundle.js",
},
module:{
loaders:[
{
test:/\.css$/,
loader:"style!css"
},
{
test:/\.js$/,
loader:"babel",
exclude:/node_modules/,
},
{
test:/\.vue$/,
loader:"vue"
}
]
},
resolve: {
alias: {
'vue$': 'vue/dist/vue.js'
}
},
babel:{
presets:['es2015','stage-0'],
plugins:['transform-runtime']
},
devServer: {
port:"8090",
historyApiFallback: true,
inline: true,
progress: true,
},
plugins:debug ? []:[
new webpack.optimize.DedupePlugin(),
new webpack.optimize.OccurrenceOrderPlugin(),
new webpack.optimize.UglifyJsPlugin({mangle:false,sourcemap:false})
],
}
上一篇:Vue2.0 【第二季】第1节 Vue.directive自定义指令


下一篇:使用Maven搭建JFinal环境