背景
一般情況下,我們借用 vue-cli之力安裝好所有依賴后,我們就可以愉快的板磚了。但是也經常會遇到一寫問題,比如
assetsSubDirectory和assetsPublicPath兩個兄弟有時候把我搞得死去活來的,下午剛好有點空,我就去好好修理了他倆一會兒(其實是被修理)。經過無數次的,config/index.js里面的build配置,然后無數次的npm run build,鄙人得出了以下之見,如有異議,還請多多指教。
基本的意義
index: path.resolve(__dirname, '../dist/index.html'), assetsRoot: path.resolve(__dirname, '../dist'), assetsSubDirectory: 'static', assetsPublicPath: './', 復制代碼
index: 模板assetRoot: 打包后文件要存放的路徑assetsSubDirectory: 除了 index.html 之外的靜態資源要存放的路徑,assetsPublicPath: 代表打包后,index.html里面引用資源的的相對地址
經過無數次修改配置 和 build后的 見解
index: path.resolve(__dirname, '../dist/index.html'),// Paths assetsRoot: path.resolve(__dirname, '../dist'), assetsSubDirectory: './assets/', assetsPublicPath: './hello/', 打包后為 <script type="text/javascript" src="./hello/assets/js/manifest.js"></script> <script type="text/javascript" src="./hello/assets/js/vendor.js"></script> <script type="text/javascript" src="./hello/assets/js/app.js"></script> 復制代碼
以上的意義是
assetsRoot: 在當前目錄的上一級 的dist目錄下輸出資源文件assetsSubDirectory: 把所有的靜態資源打包到dist下的assets文件夾下assetsPublicPath:代表生成的index.html文件,里面引入資源時,路徑前面要加上./hello/,也就是assetsPublicPath的值``
由此可見 ,我們可以直接 設置 assetsPublicPath為絕對路徑,比如自己的線上路徑前綴, https://www.yourdomain.com/,則打包后的路徑,全部會加上這個 前綴,如果配置package.json的一些參數,就可以放心的把自己html里面的內容復制出來,放在任何地方都可以用了(前提是資源要先上線哦)
作者:特立獨爬的蝸牛
鏈接:https://juejin.im/post/5bd9838df265da393c06033a
來源:掘金
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。
