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 相关文章推荐
jQuery ul标签下拉菜单演示代码
Dec 11 Javascript
再论Javascript下字符串连接的性能
Mar 05 Javascript
JavaScript闭包 懂不懂由你反正我是懂了
Oct 21 Javascript
Jquery刷新页面背景图片随机变换的实现方法
Mar 15 Javascript
jQuery中获取Radio元素值的方法
Jul 02 Javascript
javascript 自定义回调函数示例代码
Sep 26 Javascript
JavaScript 事件绑定及深入
Apr 13 Javascript
JQuery悬停控制图片轮播——代码简单
Aug 05 Javascript
自己动手制作基于jQuery的Web页面加载进度条插件
Jun 03 Javascript
学好js,这些js函数概念一定要知道【推荐】
Jan 19 Javascript
Vue数组更新及过滤排序功能
Aug 10 Javascript
layui实现数据表格自定义数据项
Oct 26 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
vBulletin HACK----关于排版的两个HACK
2006/10/09 PHP
php向js函数传参的几种方法
2014/08/10 PHP
PHP互换两个变量值的方法(不用第三变量)
2016/11/14 PHP
javascript之卸载鼠标事件的代码
2007/05/14 Javascript
XRegExp 0.2: Now With Named Capture
2007/11/30 Javascript
JavaScript中的变量声明早于赋值分析
2012/03/01 Javascript
jQuery Ajax()方法使用指南
2014/11/19 Javascript
AngularJS入门教程之Hello World!
2014/12/06 Javascript
Clipboard.js 无需Flash的JavaScript复制粘贴库
2015/10/02 Javascript
js实现的奥运倒计时时钟效果代码
2015/12/09 Javascript
关于JavaScript数组你所不知道的3件事
2016/08/24 Javascript
jQuery中Nicescroll滚动条插件的用法
2016/11/10 Javascript
微信小程序实现带刻度尺滑块功能
2017/03/29 Javascript
VueRouter导航守卫用法详解
2017/12/25 Javascript
谈谈JavaScript中super(props)的重要性
2019/02/12 Javascript
弱类型语言javascript中 a,b 的运算实例小结
2019/08/07 Javascript
解析vue、angular深度作用选择器
2019/09/11 Javascript
微信公众号中的JSSDK接入及invalid signature等常见错误问题分析(全面解析)
2020/04/11 Javascript
微信小程序实现电影App导航和轮播
2020/11/30 Javascript
[03:37]2016完美“圣”典 风云人物:Mikasa专访
2016/12/07 DOTA
[01:30:55]VG vs Mineski Supermajor 败者组 BO3 第三场 6.6
2018/06/07 DOTA
python去掉行尾的换行符方法
2017/01/04 Python
PyQt 线程类 QThread使用详解
2017/07/16 Python
在python中使用xlrd获取合并单元格的方法
2018/12/26 Python
django中使用事务及接入支付宝支付功能
2019/09/15 Python
Python获取、格式化当前时间日期的方法
2020/02/10 Python
python GUI库图形界面开发之PyQt5单行文本框控件QLineEdit详细使用方法与实例
2020/02/27 Python
Python tkinter 下拉日历控件代码
2020/03/04 Python
浅谈多卡服务器下隐藏部分 GPU 和 TensorFlow 的显存使用设置
2020/06/30 Python
Python爬虫入门教程01之爬取豆瓣Top电影
2021/01/24 Python
英国领先的运动物理治疗供应公司:Vivomed
2018/07/14 全球购物
香港网上花店:FlowerAdvisor香港
2019/05/30 全球购物
2014公司年终工作总结
2014/12/19 职场文书
工作经历证明范本
2015/06/15 职场文书
MySQL创建表操作命令分享
2022/03/25 MySQL
世界无敌的ICOM IC-R9500宽频接收机
2022/03/25 无线电