output: { filename: "[name].js", path:path.resolve(__dirname,"build") }
如果沒有指定pubicPath,則引入路徑如下
<body> <script src="b.js"></script> </body>
如果有指定publicPath
output: { filename: "[name].js", path:path.resolve(__dirname,"build"), publicPath:"/assets/" }
則引入如下
<body> <script src="assets/b.js"></script> </body>
webpack-dev-server環境下,path、publicPath、區別與聯系
path:指定編譯目錄而已(/build/js/),不能用於html中的js引用。
publicPath:虛擬目錄,自動指向path編譯目錄(/assets/ => /build/js/)。html中引用js文件時,必須引用此虛擬路徑(但實際上引用的是內存中的文件,既不是/build/js/也不是/assets/)。
===================================================
發布至生產環境:
1.webpack進行編譯(當然是編譯到/build/js/)
2.把編譯目錄(/build/js/)下的文件,全部復制到/assets/目錄下(注意:不是去修改index.html中引用bundle.js的路徑)
之前因為publicPath的路徑錯誤原因,導致webpack-dev-server不能自動刷新