vue-public文件夹

一、vue-public文件夹的认识

任何放置在 public 文件夹的静态资源都会被简单的复制,而不经过 webpack。你需要通过绝对路径来引用它们。

注意我们推荐将资源作为你的模块依赖图的一部分导入,这样它们会通过 webpack 的处理并获得如下好处:

  • 脚本和样式表会被压缩且打包在一起,从而避免额外的网络请求。
  • 文件丢失会直接在编译时报错,而不是到了用户端才产生 404 错误。
  • 最终生成的文件名包含了内容哈希,因此你不必担心浏览器会缓存它们的老版本。

public 目录提供的是一个应急手段,当你通过绝对路径引用它时,留意应用将会部署到哪里。如果你的应用没有部署在域名的根部,那么你需要为你的 URL 配置 publicPath 前缀:

  • public/index.html或其它通过 html-webpack-plugin 用作模板的 HTML 文件中,你需要通过 <%= BASE_URL %> 设置链接前缀:

      <link rel="icon" href="<%= BASE_URL %>favicon.ico">
      <link rel="stylesheet" href="<%= BASE_URL %>css/style.css">
    
  • 在js文件中 使用process.env.BASE_URL作为pubulic文件的前缀

    <template>
      <div id="app">
        // 直接引入静态目录中的文件
        <img alt="Vue logo" :src="`${publicPath}imgs/01.jpg`">
        // 相对路径的引入会导致webpack对该文件进行打包
        <img alt="Vue logo" src="../public/imgs/01.jpg">
    
      </div>
    </template>
    
    <script>
    
    export default {
      name: 'App',
      data() {
        return {
           // 获取公共目录路径
          publicPath: process.env.BASE_URL
        }
      }
    }
    </script>
    
  • publicPath配置是在项目的根目录下vue.config.js中设置publicPath选项

    module.exports = {
        publicPath: process.env.NODE_ENV === 'production'
    ? '/production-sub-path/' //真实开发的话,如果你的项目存放在公司域名二级路径下 只需要将 /production-sub-path/改为 /公司二级路径/就可以了
      : '/'
    }
    
  • 5
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值