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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM