摘要:一背景最近在做一個(gè)項(xiàng)目,項(xiàng)目本身是用創(chuàng)建的單頁(yè)面應(yīng)用,由于項(xiàng)目擴(kuò)展需要?jiǎng)?chuàng)建多頁(yè)面,所以需要對(duì)不同的分別進(jìn)行文件打包。于是開始研究插件。僅限高級(jí)用法默認(rèn)情況下,自動(dòng)生成結(jié)果文件的文件名。
一 背景
最近在做一個(gè)項(xiàng)目,項(xiàng)目本身是用vue-cli創(chuàng)建的單頁(yè)面應(yīng)用,由于項(xiàng)目擴(kuò)展需要?jiǎng)?chuàng)建多頁(yè)面,所以需要對(duì)不同的html分別進(jìn)行css文件打包。于是開始研究extract-text-webpack-plugin插件。
二 插件介紹
打包樣式有兩種方法,一種是使用style-loader自動(dòng)將css代碼放到生成的style標(biāo)簽中,并且插入到head標(biāo)簽里。另一種就是使用extract-text-webpack-plugin插件,將樣式文件多帶帶打包,打包輸出的文件由配置文件中的output屬性指定。然后我們?cè)谌肟贖TML頁(yè)面寫個(gè)link標(biāo)簽引入這個(gè)打包后的樣式文件。
三 插件使用
1 插件安裝:
# for webpack 3 npm install --save-dev extract-text-webpack-plugin # for webpack 2 npm install --save-dev [email protected] # for webpack 1 npm install --save-dev [email protected]
2 插件使用
在webpack.config.js中引入
const ExtractTextPlugin = require("extract-text-webpack-plugin"); module.exports = { module: { rules: [ { test: /.css$/, use: ExtractTextPlugin.extract({ fallback: "style-loader", // 編譯后用什么loader來(lái)提取css文件 use: "css-loader" // 指需要什么樣的loader去編譯文件,這里由于源文件是.css所以選擇css-loader }) } ] }, plugins: [ new ExtractTextPlugin("styles.css"), ] }
四 API
new ExtractTextPlugin([id: string], filename: string, [options])
id此插件實(shí)例的唯一標(biāo)識(shí)。(僅限高級(jí)用法;默認(rèn)情況下,自動(dòng)生成)
filename結(jié)果文件的文件名??赡馨琜name],[id]和[contenthash]。
[name] 塊的名稱
[id] 塊的標(biāo)識(shí)
[contenthash] 提取文件內(nèi)容的哈希值
options
allChunks 從所有其他塊中提?。J(rèn)情況下,它僅從初始?jí)K中提?。?/p>
disable 禁用插件
ExtractTextPlugin.extract([notExtractLoader], loader, [options]
從現(xiàn)有加載器創(chuàng)建提取加載器。
notExtractLoader(可選)在未提取css時(shí)應(yīng)使用的加載程序(即在其他塊中時(shí)allChunks: false)
loader 應(yīng)該用于將資源轉(zhuǎn)換為css導(dǎo)出模塊的加載器。
options
publicPath覆蓋publicPath此加載程序的設(shè)置。
五 擴(kuò)展
該實(shí)例其實(shí)還有一個(gè)擴(kuò)展函數(shù)。如果你有多個(gè)ExtractTextPlugin,你應(yīng)該使用它。
let ExtractTextPlugin = require("extract-text-webpack-plugin"); // multiple extract instances let extractCSS = new ExtractTextPlugin("stylesheets/[name].css"); let extractLESS = new ExtractTextPlugin("stylesheets/[name].less"); module.exports = { ... module: { loaders: [ {test: /.scss$/i, loader: extractCSS.extract(["css","sass"])}, {test: /.less$/i, loader: extractLESS.extract(["css","less"])}, ... ] }, plugins: [ extractCSS, extractLESS ] };
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/101625.html
摘要:注意字段的用法以上的功能有一個(gè)致命弊端每次添加包時(shí),都需要重新修改添加包會(huì)讓所有模塊恢復(fù)默認(rèn)狀態(tài),臨時(shí)用是沒(méi)問(wèn)題的。 最近寫 Vue 遇到了問(wèn)題,來(lái)自于這里 自定義塊; 簡(jiǎn)單來(lái)說(shuō),我想和官方教程一樣,在 .vue 文件中包含一個(gè) docs 的標(biāo)簽,像下面這樣: component.vue ## This is an Example component. {{msg}} ...
摘要:概述上一章講的是,這一章講的是依舊是沒(méi)有任何關(guān)系。配合插件自動(dòng)插入修改配置打包并查看它以的形式被插入頭部多入口文件打包添加入口修改插件命名方式打包并查看更多用法,請(qǐng)查閱關(guān)于章節(jié)資源源代碼 0x001 概述 上一章講的是Dll,這一章講的是ExtractTextWebpackPlugin,依舊是沒(méi)有任何關(guān)系。 0x002 插件介紹 這個(gè)插件用來(lái)將css導(dǎo)出到單獨(dú)文件 0x003 栗子-不...
摘要:在的配置項(xiàng)中,可能會(huì)見(jiàn)到這樣的字符。的情況的可以指定。值是特定于整個(gè)構(gòu)建過(guò)程的。。因此,以上兩個(gè)值中更推薦的是。中的則和前面的一樣,指定了結(jié)果的截取長(zhǎng)度。的情況被引用的通過(guò)來(lái)得到帶的文件。所以,這可能并不是我們想要的。 在webpack的配置項(xiàng)中,可能會(huì)見(jiàn)到hash這樣的字符。 當(dāng)存在hash配置的時(shí)候,webpack的輸出將可以得到形如這樣的文件: page1_bundle_54e8...
一、HtmlWebpackPlugin使用: npm install html-webpack-plugin --save-dev 解釋:這個(gè)插件是簡(jiǎn)化創(chuàng)建生成html(h5)文件用的,如果你引入的文件帶有hash值的話,這個(gè)尤為的有用,不需要手動(dòng)去更改引入的文件名! 默認(rèn)生成的是index.html,基本用法為: var HtmlWebpackPlugin = require(html-webp...
摘要:按照我們的仿真的環(huán)境,最終之后的效果應(yīng)該是打包后的文件不含有樣式類。如果忘記了它的用法,請(qǐng)查看系列教程六處理系列教程五處理所以,我們的文件如下安裝完相關(guān)插件后,我們需要在的配置中引用第三部分定義的代碼。 教程所示圖片使用的是 github 倉(cāng)庫(kù)圖片,網(wǎng)速過(guò)慢的朋友請(qǐng)移步 原文地址 有空就來(lái)看看個(gè)人技術(shù)小站, 我一直都在 0. 課程介紹和資料 本次課程的代碼目錄(如下圖所示):s...
閱讀 2078·2021-10-11 10:59
閱讀 935·2021-09-23 11:21
閱讀 3566·2021-09-06 15:02
閱讀 1621·2021-08-19 10:25
閱讀 3378·2021-07-30 11:59
閱讀 2375·2019-08-30 11:27
閱讀 2586·2019-08-30 11:20
閱讀 2978·2019-08-29 13:15