• vue-cli中理不清的assetsSubDirectory 和 assetsPublicPath


    背景

    一般情况下,我们借用 vue-cli之力安装好所有依赖后,我们就可以愉快的板砖了。但是也经常会遇到一写问题,比如assetsSubDirectoryassetsPublicPath两个兄弟有时候把我搞得死去活来的,下午刚好有点空,我就去好好修理了他俩一会儿(其实是被修理)。经过无数次的,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
    来源:掘金
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    动态规划——Best Time to Buy and Sell Stock IV
    动态规划——Split Array Largest Sum
    动态规划——Burst Ballons
    动态规划——Best Time to Buy and Sell Stock III
    动态规划——Edit Distance
    动态规划——Longest Valid Parentheses
    动态规划——Valid Permutations for DI Sequence
    构建之法阅读笔记05
    构建之法阅读笔记04
    构建之法阅读笔记03
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/10730336.html
Copyright © 2020-2023  润新知