Webpack如何引入bootstrap的方法


Posted in Javascript onJune 17, 2017

Bootstrap中是一种事实上的界面标准,标准到现在的网站大量的使用它。如果可以使用webpack引入的bootstrapcss,就可以一个npm install完成项目的依赖,而不必手工的添加到html内。

本来以为在入口文件内加一行就行:

import 'bootstrap/dist/css/bootstrapcss'

然后安装依赖:

npm i bootstrap url url-loader style-loader css-loader --save

实际上却不是想象的那么简单。因为css文件内还引用了很多类型的字体文件和矢量图文件。要引入它,必须同时提供css之外的类型的对应的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" }
]
}
};

我们在html文件内使用那么一点点的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>

再次执行转译:

webpack

打开浏览器:

open chtml

看到bootstrap那熟悉而太熟悉的界面。

引入jquery

如果需要使用bootstrap的js插件的话,就必须首先引入jquery。引用jquery的一个方法是使用webpack插件。

首先安装jquery:

npm i jquery

其次使用插件装入jquery,方法是修改webpack的配置文件,加入:

plugins: [
new webpackProvidePlugin({
$: "jquery",
jQuery: "jquery"
})
]

在入口文件内加入代码来做验证:

$("body")append("<div>hello world</div>")

如果成功,说明jquery加载成功。这样你就可以在入口js文件内加载bootstrapjs了:

import 'bootstrap/dist/js/bootstrapjs'

排除错误

我确实在引入bootstrap的时候,遇到一个神奇的错误。在webpack转译时报错,css-loader,unknown word样子的错误。对webpackconfigjs文件加入一个include属性并指向到不存在的目录即可。

{
test: /\css$/,
include: [
pathresolve(__dirname, "not_exist_path")
],
loader: "style!css"
}

原始的issue在此:https://githubcom/webpack/cs 。我看看看到此答案时以为是个玩笑。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
限制文本字节数js代码
Mar 06 Javascript
jquery获取被勾选的checked(选中)的那一行的3列和4列的值
Jul 04 Javascript
jQuery操作input值的各种方法总结
Nov 21 Javascript
元素未显示设置width/height时IE中使用currentStyle获取为auto
May 04 Javascript
JavaScript中的object转换函数toString()与valueOf()介绍
Dec 31 Javascript
js实现的鼠标滚轮滚动切换页面效果(类似360默认页面滚动切换效果)
Jan 27 Javascript
JavaScript之创意时钟项目(实例讲解)
Oct 23 Javascript
vue2.0使用swiper组件实现轮播效果
Nov 27 Javascript
使用webpack构建应用的方法步骤
Mar 04 Javascript
vue(2.x,3.0)配置跨域代理
Nov 27 Javascript
vue+spring boot实现校验码功能
May 27 Vue.js
vue报错function () { [native code] },无法出现我们想要的内容 Unknown custom element
Apr 11 Vue.js
Webpack执行命令参数详解
Jun 17 #Javascript
JS实现留言板功能
Jun 17 #Javascript
利用vscode编写vue的简单配置详解
Jun 17 #Javascript
JavaScript用二分法查找数据的实例代码
Jun 17 #Javascript
JS实现新建文件夹功能
Jun 17 #Javascript
vue-router路由参数刷新消失的问题解决方法
Jun 17 #Javascript
JS实现商品筛选功能
Aug 19 #Javascript
You might like
如何正确理解PHP的错误信息
2006/10/09 PHP
需要使用php模板的朋友必看的很多个顶级PHP模板引擎比较分析
2008/05/26 PHP
解决cPanel无法安装php5.2.17
2014/06/22 PHP
WordPress迁移时一些常见问题的解决方法整理
2015/11/24 PHP
php输出含有“#”字符串的方法
2017/01/18 PHP
php+resumablejs实现的分块上传 断点续传功能示例
2017/04/18 PHP
浅谈PHP面向对象之访问者模式+组合模式
2017/05/22 PHP
Laravel5.7框架安装与使用学习笔记图文详解
2019/04/02 PHP
jquery的冒泡事件的阻止与允许(三种实现方法)
2013/02/01 Javascript
jquery弹出框的用法示例(一)
2013/08/26 Javascript
javascript中expression的用法整理
2014/05/13 Javascript
关闭页面时window.location事件未执行的原因分析及解决方案
2014/09/01 Javascript
JavaScript实现的经典文件树菜单效果
2015/09/08 Javascript
详解js中class的多种函数封装方法
2016/01/03 Javascript
node.js从数据库获取数据
2016/05/08 Javascript
详解微信小程序开发之——wx.showToast(OBJECT)的使用
2017/01/18 Javascript
javascript滚轮事件基础实例讲解(37)
2017/02/14 Javascript
JS实现非首屏图片延迟加载的示例
2018/01/06 Javascript
基于Node.js的大文件分片上传示例
2019/06/19 Javascript
如何在 Vue 中使用 JSX
2021/02/14 Vue.js
从零学python系列之新版本导入httplib模块报ImportError解决方案
2014/05/23 Python
Python中的startswith和endswith函数使用实例
2014/08/25 Python
Python实现控制台输入密码的方法
2015/05/29 Python
Python中if elif else及缩进的使用简述
2018/05/31 Python
代码实例讲解python3的编码问题
2019/07/08 Python
Python图像处理模块ndimage用法实例分析
2019/09/05 Python
python实现KNN分类算法
2019/10/16 Python
孤独星球出版物:Lonely Planet Publications
2018/03/17 全球购物
美国正版电视节目和电影在线观看:Hulu
2018/05/24 全球购物
Hammitt官网:设计师手袋
2020/05/23 全球购物
协议书样本
2014/04/23 职场文书
工程质量保证书
2015/05/09 职场文书
2015年新农村建设工作总结
2015/05/22 职场文书
2016应届毕业生实习心得体会
2015/10/09 职场文书
ORACLE数据库对long类型字段进行模糊匹配的解决思路
2021/04/07 Oracle
Redis实现主从复制方式(Master&Slave)
2022/06/21 Redis