鍍金池/ 問答/HTML/ @import "~element-ui" 這樣的地址nod

@import "~element-ui" 這樣的地址node是如何定位的?

$--color-text-regular: #fff;

$--font-path: '~element-ui/lib/theme-chalk/fonts';

@import "~element-ui/packages/theme-chalk/src/index";

因?yàn)槭褂玫?elementUI 有些字體顏色不是很滿意,就按照文檔中說明的第二種方法進(jìn)行修改,對(duì)于其中說到的

這樣的import不是很理解。

回答
編輯回答
你好胸

sass-loader

webpack 提供一種解析文件的高級(jí)的機(jī)制。sass-loader 使用 node-sass 的 custom importer 特性,將所有的 query 傳遞給 webpack 的解析引擎(resolving engine)。只要它們前面加上 ~,告訴 webpack 它不是一個(gè)相對(duì)路徑,這樣就可以 import 導(dǎo)入 node_modules 目錄里面的 sass 模塊:
@import "~bootstrap/dist/css/bootstrap";
重要的是,只在前面加上 ~,因?yàn)?~/ 會(huì)解析到主目錄(home directory)。webpack 需要區(qū)分 bootstrap 和 ~bootstrap,因?yàn)?CSS 和 Sass 文件沒有用于導(dǎo)入相關(guān)文件的特殊語法。@import "file" 與 @import "./file"; 這兩種寫法是相同的
2018年5月9日 07:09
編輯回答
夢(mèng)若殤

webpack解析地址的時(shí)候發(fā)現(xiàn)~開頭會(huì)幫你按照模塊解析。這個(gè)工作基本上是webpack做的。
參考1
參考2

2018年1月23日 13:17
編輯回答
離夢(mèng)

這是他們封裝好的方法,直接去找對(duì)應(yīng)的目錄文件了

2017年6月10日 18:28