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 Ajax 全解析
Feb 08 Javascript
javascript eval函数深入认识
Feb 21 Javascript
JavaScript 编写匿名函数的几种方法
Feb 21 Javascript
只需五句话搞定JavaScript作用域(经典)
Jul 26 Javascript
浅谈jQuery hover(over, out)事件函数
Dec 03 Javascript
easyui简介_动力节点Java学院整理
Jul 14 Javascript
基于vue.js路由参数的实例讲解——简单易懂
Sep 07 Javascript
详解Webpack+Babel+React开发环境的搭建的方法步骤
Jan 09 Javascript
微信小程序实现城市列表选择
Jun 05 Javascript
微信小程序云开发之数据库操作
May 18 Javascript
javascript中的闭包概念与用法实践分析
Jul 26 Javascript
《javascript设计模式》学习笔记四:Javascript面向对象程序设计链式调用实例分析
Apr 07 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
mysql时区问题
2008/03/26 PHP
PHP+iFrame实现页面无需刷新的异步文件上传
2014/09/16 PHP
Windows下Apache + PHP SESSION丢失的解决过程全纪录
2015/04/07 PHP
PHP curl伪造IP地址和header信息代码实例
2015/04/27 PHP
浅谈PHP中JSON数据操作
2015/07/01 PHP
PHP数组函数知识汇总
2016/05/12 PHP
ZendFramework框架实现连接两个或多个数据库的方法
2016/12/08 PHP
PHP PDOStatement::nextRowset讲解
2019/02/01 PHP
java解析json方法总结
2019/05/16 PHP
php求斐波那契数的两种实现方式【递归与递推】
2019/09/09 PHP
数据结构之利用PHP实现二分搜索树
2020/10/25 PHP
B/S开发中常用javaScript技术与代码
2007/03/09 Javascript
jQuery 隐藏和显示 input 默认值示例
2014/06/03 Javascript
new Date()问题在ie8下面的处理方法
2014/07/31 Javascript
Jquery判断radio、selelct、checkbox是否选中及获取选中值方法总结
2015/04/15 Javascript
Kindeditor在线文本编辑器如何过滤HTML
2016/04/14 Javascript
AngularJS基础 ng-repeat 指令简单示例
2016/08/03 Javascript
实例分析nodejs模块xml2js解析xml过程中遇到的坑
2017/03/18 NodeJs
AngularJS基于factory创建自定义服务的方法详解
2017/05/25 Javascript
Angular2监听页面大小变化的解决方法
2017/10/09 Javascript
apicloud拉起小程序并传递参数的方法示例
2018/11/21 Javascript
浅谈vue中get请求解决传输数据是数组格式的问题
2020/08/03 Javascript
javascript中正则表达式语法详解
2020/08/07 Javascript
[03:49]DOTA2 2015国际邀请赛中国区预选赛第二日现场百态
2015/05/27 DOTA
[45:17]DOTA2-DPC中国联赛定级赛 Phoenix vs DLG BO3第三场 1月9日
2021/03/11 DOTA
基于Python的身份证号码自动生成程序
2014/08/15 Python
Python实现检测文件MD5值的方法示例
2018/04/11 Python
属性与 @property 方法让你的python更高效
2020/09/21 Python
python用tkinter实现一个gui的翻译工具
2020/10/26 Python
细说CSS3中box属性中的overflow-x属性和overflow-y属性值的效果
2014/07/21 HTML / CSS
社区学习党的群众路线教育实践活动心得体会
2014/11/03 职场文书
课堂打架检讨书200字
2014/11/21 职场文书
2015年招聘工作总结
2014/12/12 职场文书
应收账款管理制度
2015/08/06 职场文书
python scipy 稀疏矩阵的使用说明
2021/05/26 Python
通过Python把学姐照片做成拼图游戏
2022/02/15 Python