webpack中的~
Posted 一江西流
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了webpack中的~相关的知识,希望对你有一定的参考价值。
比如我们可以看到一些css文件中有这样的代码:
@import ‘~antd/dist/antd.css‘;
...
那么,这个 ~ 起什么作用呢?
首先,我们来看一下URL转换规则
1、如果URL是一个绝对路径(例如 /images/foo.png),它将会保留不变。
2、如果URL以 . 开头,它会作为一个相对模块请求被解析且基于你的文件系统中的目录结构进行解析。
3、如果URL以 ~ 开头,其后任何的内容都会作为一个模块请求被解析。这意味着你甚至可以引用node模块中的资源:
<img src="~some-npm-package/foo.png" />
4、如果URL以 @ 开头,它也会作为一个模块请求被解析。它的用处在于可以在webpack中设置别名。
其实和import,require没区别,只是这种方式不能写到css或者html里面,就写成了~ (css /less/ sass没有用于导入相关文件的特殊语法,
所以这里添加的~实际上是为了告诉webpack这里是从根目录开始寻找,而不是相对目录。)
Webpack 会将以 ~ 符号作为前缀的路径视作依赖模块而去解析
以上是关于webpack中的~的主要内容,如果未能解决你的问题,请参考以下文章
Vue报错:Uncaught TypeError: Cannot assign to read only property 'exports' of object 的解决方法(代码片段