webpack配置文件的理解
webpack的配置文件是没有固定的命名的,在我的项目中建立了两个配置文件,一个是开发的配置文件webpack.config.js;另一个是上线的配置文件webpack.build.config.js。两者内容上的差别,在以后的文档中解释。它们是怎么执行不同的配置文件的尼?这才是重点。
在package.json文件中,有脚本的执行配置,如图:
在我们的cmd命令行中,开发时:执行npm run dev;将执行我们的webpack.config.js文件;
最终上线时:执行npm run build;将执行我们的webpack.build.config.js文件;两者的内容有细微的差别。
这是对两个配置文件的理解。
每次编译代码时,手动的npm run dev 就会变得有点麻烦。
webpack提供了几个选项,可以帮助我们在代码发生变化后自动编译代码:
1、webpack's Watch Mode
2、webpack-dev-server
3、webpack-dev-middleware
多数场景中,使用webpack-dev-server。
参考官方文档:https://doc.webpack-china.org...
在我的项目中使用的是webpack-dev-sever。提供了一个简单的web服务器,并且能够实时重新加载(live reloading)
webpack.config.js
参考webpack-dev-server文档:https://doc.webpack-china.org...
devServer:{
contentBase:目录文件所在的位置,
historyApiFallback:任意的404响应都可能需要被替代为index.html.一般默认true.
historyApiFallback:{
rewrites:[
{from:/^\/$/,to:'/views/landing.html'}, #以根‘/’开始,以根‘/’结尾的请求,重定向到‘/views/landing.html’
{from:/^\/subpage/,to:'views/subpage.html'}, #以‘/subpage’开始的请求,重定向到‘views/subpage.html’
{from:/./,to:'/views/404.html'} #不匹配上面的任意除了换行符之外的请求,重定向到‘/views/404.html’
]
}
inline:boolen;在dev-server的两种不同模式之间的切换。默认启用内联模式(
inline mode),处理实时重载的脚本被插入到你的包(bundle)中,并且构建消息将会出现在浏览器控制台。
progress:boolen;用于命令行工具,将运行进度输出到控制台。
port:number;指定要监听请求的端口号
index:string;索引文件的文件名
host:string;指定使用一个host.默认是localhost。ip地址
proxy:object;代理配置,代理后端开发服务器API,并且希望在同域名下发送API请求。
}
这是对webpack.config.js中对webpack-dev-server的解读!!!可能存在一些不对的地方,希望指出!!!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。