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之卸载鼠标事件的代码
May 14 Javascript
精心挑选的15个jQuery下拉菜单制作教程
Jun 15 Javascript
重写javascript中window.confirm的行为
Oct 21 Javascript
一个简单的实现下拉框多选的插件可移植性比较好
May 05 Javascript
JavaScript中的方法重载实例
Mar 16 Javascript
JS实现选中当前菜单后高亮显示的导航条效果
Oct 15 Javascript
jQuery使用serialize()表单序列化时出现中文乱码问题的解决办法
Jul 27 Javascript
Node.js中.pfx后缀文件的处理方法
Mar 10 Javascript
AjaxFileUpload.js实现异步上传文件功能
Apr 19 Javascript
JavaScript如何实现元素全排列实例代码
May 14 Javascript
Vue父组件监听子组件生命周期
Sep 03 Javascript
vue中如何添加百度统计代码
Dec 19 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
浅析Yii中使用RBAC的完全指南(用户角色权限控制)
2013/06/20 PHP
php读取本地json文件的实例
2018/03/07 PHP
jquery ui dialog里调用datepicker的问题
2009/08/06 Javascript
JavaScript 设计模式 安全沙箱模式
2010/09/24 Javascript
jquery购物车实时结算特效实现思路
2013/09/23 Javascript
jquery垂直公告滚动实现代码
2013/12/08 Javascript
JavaScript中for-in遍历方式示例介绍
2014/02/11 Javascript
JQuery做的一个简单的点灯游戏分享
2014/07/16 Javascript
JavaScript实现跨浏览器的添加及删除事件绑定函数实例
2015/08/04 Javascript
JS给Textarea文本框添加行号的方法
2015/08/20 Javascript
AngularJS 最常用的功能汇总
2016/02/17 Javascript
easyui window refresh 刷新两次的解决方法(推荐)
2016/05/18 Javascript
javascript实现图片左右滚动效果【可自动滚动,有左右按钮】
2016/09/19 Javascript
Vue.js实现在下拉列表区域外点击即可关闭下拉列表的功能(自定义下拉列表)
2017/05/30 Javascript
浅谈Vuex的状态管理(全家桶)
2017/11/04 Javascript
Bootstrap 模态框多次显示后台提交多次BUG的解决方法
2017/12/26 Javascript
浅谈Vue服务端渲染框架Nuxt的那些事
2018/12/21 Javascript
npm qs模块使用详解
2020/02/07 Javascript
js实现3D粒子酷炫动态旋转特效
2020/09/13 Javascript
[01:20]辉夜杯背景故事宣传片《辉夜传说》
2015/12/25 DOTA
Python实现在线暴力破解邮箱账号密码功能示例【测试可用】
2017/09/06 Python
python 上下文管理器使用方法小结
2017/10/10 Python
Django中ajax发送post请求 报403错误CSRF验证失败解决方案
2019/08/13 Python
Python 私有化操作实例分析
2019/11/21 Python
python使用 cx_Oracle 模块进行查询操作示例
2019/11/28 Python
python通过安装itchat包实现微信自动回复收到的春节祝福
2020/01/19 Python
Python基于Serializer实现字段验证及序列化
2020/11/04 Python
波兰最大的宠物用品网上商店:FERA.PL
2019/08/11 全球购物
应届生学校辅导员求职信
2013/11/07 职场文书
英语专业毕业生自我鉴定
2013/11/09 职场文书
优秀应届毕业生推荐信
2014/02/18 职场文书
《分一分》教学反思
2014/04/13 职场文书
找工作求职信
2014/07/07 职场文书
2019年暑期安全广播稿!
2019/07/03 职场文书
导游词书写之黄山
2019/08/06 职场文书
十大最强岩石系宝可梦,怪颚龙实力最强,第七破坏力很强
2022/03/18 日漫