output: { filename: "[name].js", path:path.resolve(__dirname,"build") }
若是沒有指定pubicPath,則引入路徑以下html
<body> <script src="b.js"></script> </body>
若是有指定publicPathwebpack
output: { filename: "[name].js", path:path.resolve(__dirname,"build"), publicPath:"/assets/" }
則引入以下web
<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不能自動刷新