Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
節(jié)我們來學(xué)習(xí) webpack 中 loader 加載器的使用,那么什么是 loader 呢。從本質(zhì)上來說,loader 就是一個(gè) Node.js 模塊,在 webpack 的定義中,loader 導(dǎo)出一個(gè)函數(shù),loader 會(huì)在轉(zhuǎn)換源模塊的時(shí)候調(diào)用該函數(shù)。
webpack 本身依然是只能處理 JS 文件的,但是通過一系列的 loader ,就可以處理其他文件啦。例如 Less 和 Sass,以前我們編譯這些 CSS 預(yù)處理器,需要使用 gulp 進(jìn)行編譯,而顯示可以通過 webpack 中的 loader 加載器來實(shí)現(xiàn)。
webpack 中有一系列的 loader,在實(shí)際項(xiàng)目中,我們會(huì)根據(jù)不同的需求使用到不同的 loader。例如 webpack 中的一些常見 loader 如下所示:
我們可以在 webpack.config.js 配置文件中配置 loader,可以在 module.rules 中指定一個(gè)或多個(gè) loader。
通過配置loader 的兩個(gè)屬性來實(shí)現(xiàn):
例如默認(rèn)情況下 webpack 只能打包 JS 文件,不能識(shí)別其他例如 CSS、Less、image等類型的文件,那么如果我們想要打包 CSS 樣式文件,可以在 webpack 中使用 loader 加載器,可以將一種文件轉(zhuǎn)換為另一種文件,將webpack不能識(shí)別的其它類型文件轉(zhuǎn)換為 webpack 可識(shí)別 JS 類型文件。
首先需要安裝 style-loader 和 css-loader ,安裝命令如下所示:
npm install css-loader style-loader --save-dev
命令執(zhí)行成功后,這兩個(gè) loader 會(huì)自動(dòng)添加到 package.json 的依賴中,如下所示:
"devDependencies": {
"css-loader": "^3.6.0",
"style-loader": "^1.2.1",
"webpack": "^4.43.0",
"webpack-dev-server": "^3.11.0"
}
然后在 webpack.config.js 中配置 loader,在 module 屬性的 rule 屬性中配置 loader 規(guī)則:
module:{
rules:[{
test:/.css$/,
use:['style-loader','css-loader']
}]
}
這里表示匹配所有 .css 后綴結(jié)尾的文件,通過 style-loader 和 css-loader 加載器進(jìn)行轉(zhuǎn)換后再編譯。
然后我們創(chuàng)建一個(gè) xkd.css 文件,內(nèi)容如下所示:
p{
font-size: 12px;
color: red;
}
并將 xkd.css 文件導(dǎo)入到 index.js 入口文件中:
document.write('你好,俠課島!');
// 導(dǎo)入 CSS 文件
import "./xkd.css";
然后我們執(zhí)行打包命令后會(huì)重新生成打包文件,會(huì)發(fā)現(xiàn) xkd.css 文件也成功打包到 bundle.js 文件中。
這就是 loader 的基本使用流程,先安裝loader,然后在配置文件中配置 loader ,最后再進(jìn)行打包就可以啦。
的:因?yàn)閭鹘y(tǒng)的link加載css樣式會(huì)發(fā)起二次請(qǐng)求,所以我們需要在webpack中使用loader加載css樣式
準(zhǔn)備:你需要準(zhǔn)備一個(gè)已經(jīng)配置好的webpack項(xiàng)目
如果出現(xiàn)警告說:需要依賴webpack就再安裝一下
mian.js
index.css & index.scss
index.html
啟動(dòng)項(xiàng)目
結(jié)果:
者: 秋天不落葉
轉(zhuǎn)發(fā)鏈接:https://mp.weixin.qq.com/s/KmDLcJ0jhB667ZouDB8tyg
*請(qǐng)認(rèn)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。