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 会将以 ~ 符号作为前缀的路径视作依赖模块而去解析

‘~PATH‘将PATH里的内容作为模块进行查询,比如在assert里的内容,可以这样显式引用

 

参考链接:

http://www.imooc.com/wenda/detail/522672

 https://juejin.im/post/5bf532a1518825741f626355

以上是关于webpack中的~的主要内容,如果未能解决你的问题,请参考以下文章

Vue报错:Uncaught TypeError: Cannot assign to read only property 'exports' of object 的解决方法(代码片段

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

如何使用webpack加载库源映射?

VSCode自定义代码片段——JS中的面向对象编程

服务器代码中的 Webpack 热模块替换

VSCode自定义代码片段9——JS中的面向对象编程