Webpack如何引入bootstrap的方法
Bootstrap中是一種事實(shí)上的界面標(biāo)準(zhǔn),標(biāo)準(zhǔn)到現(xiàn)在的網(wǎng)站大量的使用它。如果可以使用webpack引入的bootstrapcss,就可以一個(gè)npm install完成項(xiàng)目的依賴,而不必手工的添加到html內(nèi)。
本來以為在入口文件內(nèi)加一行就行:
import 'bootstrap/dist/css/bootstrapcss'
然后安裝依賴:
npm i bootstrap url url-loader style-loader css-loader --save
實(shí)際上卻不是想象的那么簡(jiǎn)單。因?yàn)閏ss文件內(nèi)還引用了很多類型的字體文件和矢量圖文件。要引入它,必須同時(shí)提供css之外的類型的對(duì)應(yīng)的loader:
//webpackconfigjs:
moduleexports = {
entry: {
'js'
},
output: {
filename: 'bundlejs'
},
module: {
loaders: [
{ test: /\css$/, loader: 'style-loader!css-loader' },
{ test: /\eot(\?v=\d+\\d+\\d+)?$/, loader: "file" },
{ test: /\(woff|woff2)$/, loader:"url?prefix=font/&limit=5000" },
{ test: /\ttf(\?v=\d+\\d+\\d+)?$/, loader: "url?limit=10000&mimetype=application/octet-stream" },
{ test: /\svg(\?v=\d+\\d+\\d+)?$/, loader: "url?limit=10000&mimetype=image/svg+xml" }
]
}
};
我們?cè)趆tml文件內(nèi)使用那么一點(diǎn)點(diǎn)的bootstrap:
// chtml <html> <body> <ul class="nav nav-pills"> <li role="presentation" class="active"><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" >Home</a></li> <li role="presentation"><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" >Profile</a></li> <li role="presentation"><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" >Messages</a></li> </ul> <script type="text/javascript" src="bundlejs"></script> </body> </html>
再次執(zhí)行轉(zhuǎn)譯:
webpack
打開瀏覽器:
open chtml
看到bootstrap那熟悉而太熟悉的界面。
引入jquery
如果需要使用bootstrap的js插件的話,就必須首先引入jquery。引用jquery的一個(gè)方法是使用webpack插件。
首先安裝jquery:
npm i jquery
其次使用插件裝入jquery,方法是修改webpack的配置文件,加入:
plugins: [
new webpackProvidePlugin({
$: "jquery",
jQuery: "jquery"
})
]
在入口文件內(nèi)加入代碼來做驗(yàn)證:
$("body")append("<div>hello world</div>")
如果成功,說明jquery加載成功。這樣你就可以在入口js文件內(nèi)加載bootstrapjs了:
import 'bootstrap/dist/js/bootstrapjs'
排除錯(cuò)誤
我確實(shí)在引入bootstrap的時(shí)候,遇到一個(gè)神奇的錯(cuò)誤。在webpack轉(zhuǎn)譯時(shí)報(bào)錯(cuò),css-loader,unknown word樣子的錯(cuò)誤。對(duì)webpackconfigjs文件加入一個(gè)include屬性并指向到不存在的目錄即可。
{
test: /\css$/,
include: [
pathresolve(__dirname, "not_exist_path")
],
loader: "style!css"
}
原始的issue在此:https://githubcom/webpack/cs 。我看看看到此答案時(shí)以為是個(gè)玩笑。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
webpack如何自動(dòng)生成網(wǎng)站圖標(biāo)詳解
這篇文章主要給大家介紹了關(guān)于webpack如何自動(dòng)生成網(wǎng)站圖標(biāo)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-01-01
knockoutjs動(dòng)態(tài)加載外部的file作為component中的template數(shù)據(jù)源的實(shí)現(xiàn)方法
Knockoutjs 的Components 是一種自定義的組件,它以一種強(qiáng)大、簡(jiǎn)介的方式將你自己的ui代碼組織成一種單獨(dú)的、可重用的模塊。接下來通過本文給大家介紹knockoutjs動(dòng)態(tài)加載外部的file作為component中的template數(shù)據(jù)源的實(shí)現(xiàn)方法,一起看看吧2016-09-09
JS實(shí)現(xiàn)兼容各瀏覽器解析XML文檔數(shù)據(jù)的方法
這篇文章主要介紹了JS實(shí)現(xiàn)兼容各瀏覽器解析XML文檔數(shù)據(jù)的方法,涉及javascript對(duì)XML文件的解析技巧,并根據(jù)各瀏覽器進(jìn)行了相關(guān)調(diào)整,具有良好的兼容性,需要的朋友可以參考下2015-06-06
DLL+ ActiveX控件+WEB頁(yè)面調(diào)用例子
因項(xiàng)目需要,開始學(xué)習(xí)并研究VC、DLL及ActiveX控件,網(wǎng)上資料找了很多,但沒一個(gè)可用的或者說沒一個(gè)例子可理解并運(yùn)行的。沒辦法,自己研究吧。功夫不負(fù)有心人,終有小成了,呵呵,現(xiàn)在把自己學(xué)習(xí)總結(jié)了一下,獻(xiàn)給需要的人。2010-08-08
JavaScript實(shí)現(xiàn)復(fù)選框全選功能
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)復(fù)選框全選功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-04-04
JavaScript錯(cuò)誤處理機(jī)制全面分析講解
下面小編就為大家?guī)硪黄媪私鈐avascript中的錯(cuò)誤處理機(jī)制。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2022-10-10

