关于webpack-dev-server的几个问题
问题一:webpack-dev-server不能生成文件么?
webpack-dev-server开启后,css和js的修改都实时刷新了,但是都在内存里,只能看看修改的效果,最后要得到修改后的文件,又要关掉webpack-dev-server,再webpack编译一次...觉得很不方便,有办法让实时刷新时同时生成出改动后的文件么?
问题二:webpack-dev-server的端口怎么修改?
webpack-dev-server默认是从localhost:8080启动,假如我需要多个设备打开这个页面,localhost肯定没戏。。我需要把开发服务器地址改为另一个地址,比如路由的地址192.168.1.100:8080,这样局域网内所有设备都可以访问。。。但是我改了下devServer:{host}完全没用。。
问题三:publicPath是什么?
找了一堆资料没看懂。。。全是写CDN,还有什么前后端热替换。。
自己试了下,使用webpack-dev-server时,不加pubicPath会无效。。
开多一个控制台,用
webpack --watch
实时监控文件变动随时编译就行了。用
--port
来制定参数,比如webpack-dev-server --port 8888
要理解publicPath,首先要知道什么时候webpack会用到这个配置参数:在webpack为你自动生成资源路径时,比如说由于
webpack异步加载
分包而需要独立出来的chunk,或是打包css时,webpack为你替换掉的图片、字体文件,又或是使用html-webpack-plugin
后webpack为你自动加载的入口文件,等等,这些webpack生成的路径,都会参考你的publicPath参数。你不需要管什么CDN,你要想的就是,你的文件生成出来以后,是部署到哪里的,如果是跟页面放到一起的,那你尽管可以按相对路径来设置,比如说'./'之类的;而如果你的js、css是打算放CDN的,那当然就要填CDN的域名和路径了。详细可看我这篇文章《webpack多页应用架构系列(二):webpack配置常用部分有哪些?》