波浪号~@在vue项目中的作用,以及静态资源引用的几种方式

news/2024/7/10 0:29:08 标签: vue

vue单文件组件中,有一套自己的处理静态资源路径的逻辑。

其包含了四种引用方式:

  • 绝对路径
  • 相对路径
  • ~开头的模块
  • @开头的模块

~开头的引用并非一个别名,而是可以将~后边的内容当做一个模块请求被解析,所以其后边甚至可以放一个node模块,进而实现更高级的功能(见下文),实现这一功能的是vue-loader,在vue-cli项目中已经内置了

@则是一个真正的别名,可以通过vue inspect命令查看当前webpack的配置:

# 以下可以看到 @ 是一个别名
 alias: {
    '@': 'D:\\projects\\test-vue\\src',
    vue$: 'vue/dist/vue.runtime.esm.js'
 },

但我们正常使用的时候,可能会使用~@,其实如果是静态的图片地址,那么效果和单独使用@是一样的。
在这里插入图片描述
如下:三种方式均可以被渲染出来
在这里插入图片描述
接下来试一下~的高级用法…

// foo.js 它是一个js的模块
const getImg = () => {
  if (Math.random() > 0.5) {
    return require("./assets/logo.png");
  } else {
    return require("./assets/csdn.png");
  }
};
module.exports = getImg();

// App.vue
<template>
  <div id="app">
    <img alt="Vue logo" src="./assets/logo.png" />
    <img alt="Vue logo" src="@/assets/logo.png" />
    <img alt="Vue logo" src="~@/foo" />
  </div>
</template>

代码中~@/foo 其实是等同于require(’@/foo’),所以图片将会在上图和下图中随机切换。
在这里插入图片描述

参考
vue-cli官方文档


http://www.niftyadmin.cn/n/1382660.html

相关文章

mediaPlayer 播放

三个监听事件 加载完成 播放完成 出现错误转载于:https://www.cnblogs.com/childyngy/p/5491949.html

Spring cloud Hystrix仪表盘之Unable to connect to Command Metric Stream.

springboot 2.0需要添加 ServletRegistrationBean 因为springboot的默认路径不是 "/hystrix.stream"&#xff0c;只要在自己的项目里配置上下面的servlet就可以了 Beanpublic ServletRegistrationBean getServlet() {HystrixMetricsStreamServlet streamServlet new…

C++第4次实验(基础班)—循环结构程序设计

此次上机中的4个题目项目6、项目7&#xff08;选1&#xff09;必做。其他2两题可从剩下的项目中选&#xff0c;也可从项目7中选。 【项目1&#xff1a;利用循环求和】求1000以内全部偶数的和&#xff08;答案&#xff1a;250500&#xff09; 要求&#xff1a;请编出3个程序来&a…

mac下切换node版本管理n模块的源

n模块可以方便的切换node的版本&#xff0c;然后使用官方源速度有些慢。官方提供了更换源的方法如下&#xff1a; # 设置环境变量 export N_NODE_MIRRORhttps://npm.taobao.org/mirrors/node# 切换node的版本 $ sudo -E n stable其中-E参数是指保留当前的环境变量。否则root用…

搭建了个人的github.io博客

地址&#xff1a;http://www.shutu.tech 说明&#xff1a; 基于github hexo简易搭建的个人博客&#xff0c;用于收藏经典博文及技术文章&#xff0c;也会用于个人的技术成长记录。我是看到这篇文章搭建的&#xff1a;http://wsgzao.github.io/post/hexo-guide/ 转载于:https:/…

SAP与Oracle ERP

SAP含义&#xff1a;第一&#xff0c;SAP是公司名称&#xff0c;即SAP公司&#xff0c;它是成立于1972年总部位于德国第二&#xff0c;SAP是其ERP&#xff08;Enterprise-wide Resource Planning&#xff09;软件名称&#xff0c;全世界排名第一的ERP软件 Oracl erp 跟 SAP的比…

Screen-后台运行

文章转自&#xff1a;http://www.cnblogs.com/mchina/archive/2013/01/30/2880680.html 本来想搜集资料写一个的&#xff0c;结果发现该博主已经总结的很好&#xff0c;条理清晰。 一、背景 系统管理员经常需要SSH 或者telent 远程登录到Linux 服务器&#xff0c;经常运行一些需…

No package nginx available

执行yum install nginx 报出标题中的错误&#xff0c;翻译为&#xff1a;没有Nginx包 其实yum安装会先到yum源中去下载&#xff0c;若没有发现对应的软件包就会出错。 可以通过如下命令来安装EPEL的源&#xff08;生产环境请谨慎…&#xff09;&#xff1a; $ yum -y instal…