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基础的动画教程,直观易懂
Jan 10 Javascript
jQuery与ExtJS之选择实例分析
Aug 19 Javascript
javascript算法题 求任意一个1-9位不重复的N位数在该组合中的大小排列序号
Jul 21 Javascript
jQuery父级以及同级元素查找介绍
Sep 04 Javascript
js实现a标签超链接提交form表单的方法
Jun 24 Javascript
纯JavaScript实现的分页插件实例
Jul 14 Javascript
jQuery链式调用与show知识浅析
May 11 Javascript
BootStrap与validator 使用笔记(JAVA SpringMVC实现)
Sep 21 Javascript
node.js版本管理工具n无效的原理和解决方法
Nov 24 Javascript
AngularJs篇:使用AngularJs打造一个简易权限系统的实现代码
Dec 26 Javascript
JavaScript中document.referrer的用法详解
Jul 04 Javascript
vue指令之表单控件绑定v-model v-model与v-bind结合使用
Apr 17 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
PHP中文处理 中文字符串截取(mb_substr)和获取中文字符串字数
2011/11/10 PHP
thinkphp3.0 模板中函数的使用
2012/11/13 PHP
Smarty模板引擎缓存机制详解
2016/05/23 PHP
PHP7多线程搭建教程
2017/04/21 PHP
PHP接口继承及接口多继承原理与实现方法详解
2017/10/18 PHP
PHP Beanstalkd消息队列的安装与使用方法实例详解
2020/02/21 PHP
该如何加载google-analytics(或其他第三方)的JS
2010/05/13 Javascript
node.js中的http.createClient方法使用说明
2014/12/15 Javascript
莱鸟介绍window.print()方法
2016/01/06 Javascript
jQuery模仿阿里云购买服务器选择购买时间长度的代码
2016/04/29 Javascript
Vue 仿百度搜索功能实现代码
2017/02/16 Javascript
node.js+jQuery实现用户登录注册AJAX交互
2017/04/28 jQuery
详解angularjs popup-table 弹出框表格指令
2017/09/20 Javascript
JS实现DOM删除节点操作示例
2018/04/04 Javascript
angular6.0开发教程之如何安装angular6.0框架
2018/06/29 Javascript
vue+elementUi图片上传组件使用详解
2019/08/20 Javascript
vue-preview动态获取图片宽高并增加旋转功能的实现
2020/07/29 Javascript
实例讲解Python编程中@property装饰器的用法
2016/06/20 Python
python调用系统ffmpeg实现视频截图、http发送
2018/03/06 Python
Python实现的拟合二元一次函数功能示例【基于scipy模块】
2018/05/15 Python
python os用法总结
2018/06/08 Python
pandas重新生成索引的方法
2018/11/06 Python
python实现微信自动回复及批量添加好友功能
2019/07/03 Python
Python爬虫学习之翻译小程序
2019/07/30 Python
Python实现中英文全文搜索的示例
2020/12/04 Python
新西兰珠宝品牌:Michael Hill
2017/09/16 全球购物
英国独特的时尚和生活方式品牌:JOY
2018/03/17 全球购物
美国正宗奢华复古手袋、珠宝及配饰网站:What Goes Around Comes Around
2018/07/21 全球购物
面向对象概念面试题(.NET)
2016/11/04 面试题
Delphi CS笔试题
2014/01/04 面试题
期中考试反思800字
2014/05/01 职场文书
施工安全生产承诺书
2014/05/23 职场文书
学校个人对照检查材料
2014/08/26 职场文书
2014年军人思想汇报范文
2014/10/12 职场文书
情人节活动总结范文
2015/02/05 职场文书
《金肉人》米特&《航海王》阿鹤声优松岛实因胰脏癌去世 享寿81岁
2022/04/13 日漫