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 相关文章推荐
javascript实现动态侧边栏代码
Feb 19 Javascript
jQuery实现的超简单点赞效果实例分析
Dec 31 Javascript
理解javascript函数式编程中的闭包(closure)
Mar 08 Javascript
javascript中获取class的简单实现
Jul 12 Javascript
JS获得一个对象的所有属性和方法实例
Feb 21 Javascript
Underscore之Array_动力节点Java学院整理
Jul 10 Javascript
jquery-file-upload 文件上传带进度条效果
Nov 21 jQuery
AngularJs 最新验证手机号码的实例,成功测试通过
Nov 26 Javascript
Vue2.5通过json文件读取数据的方法
Feb 27 Javascript
详解如何用typescript开发koa2的二三事
Nov 13 Javascript
js实现简单放大镜效果
Mar 07 Javascript
js实现浏览器打印功能的示例代码
Jul 15 Javascript
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
递归列出所有文件和目录
2006/10/09 PHP
php a simple smtp class
2007/11/26 PHP
PHP实现读取一个1G的文件大小
2013/08/24 PHP
PHP Swoole异步MySQL客户端实现方法示例
2019/10/24 PHP
双击滚屏-常用推荐
2006/11/29 Javascript
一些易混淆且不常用的属性,希望有用
2007/01/29 Javascript
$()JS小技巧
2007/07/21 Javascript
用javascript实现点击链接弹出&quot;图片另存为&quot;而不是直接打开
2007/08/15 Javascript
ASP.NET jQuery 实例4(复制TextBox的文本到本地剪贴板上)
2012/01/13 Javascript
javascript 使用 NodeList需要注意的问题
2013/03/04 Javascript
jQuery中ajax的get()方法用法实例
2014/12/26 Javascript
初步认识JavaScript函数库jQuery
2015/06/18 Javascript
Java遍历集合方法分析(实现原理、算法性能、适用场合)
2016/04/25 Javascript
react-native 圆弧拖动进度条实现的示例代码
2018/04/12 Javascript
浅析vue-router中params和query的区别
2019/12/24 Javascript
JS正则表达式验证端口范围(0-65535)
2020/01/06 Javascript
[01:06:42]VP vs NewBee Supermajor 胜者组 BO3 第二场 6.5
2018/06/06 DOTA
python代码检查工具pylint 让你的python更规范
2012/09/05 Python
Python切片操作深入详解
2018/07/27 Python
python利用pandas将excel文件转换为txt文件的方法
2018/10/23 Python
Python文件循环写入行时防止覆盖的解决方法
2018/11/09 Python
python爬取微信公众号文章的方法
2019/02/26 Python
pandas进行时间数据的转换和计算时间差并提取年月日
2019/07/06 Python
Python如何绘制日历图和热力图
2020/08/07 Python
HTML5之SVG 2D入门4—笔画与填充
2013/01/30 HTML / CSS
John Varvatos官方网站:设计师男士时装
2017/02/08 全球购物
英国银首饰公司:e&e Jewellery
2021/02/11 全球购物
Java面试题汇总
2015/12/06 面试题
《雨点儿》教学反思
2014/04/14 职场文书
2014年政风行风工作总结
2014/11/22 职场文书
2014年高中教师工作总结
2014/12/19 职场文书
十月围城观后感
2015/06/08 职场文书
中学图书馆工作总结
2015/08/11 职场文书
SONY AN-LP1 短波有源天线放大器
2021/04/22 无线电
2022微信温控新功能上线
2022/05/09 数码科技
聊聊CSS粘性定位sticky案例解析
2022/06/01 HTML / CSS