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 相关文章推荐
js禁止回车提交表单的示例代码
Dec 23 Javascript
JavaScript实现的简单拖拽效果
Jun 01 Javascript
JS+DIV+CSS实现的经典标签切换效果代码
Sep 14 Javascript
AngularJs实现ng1.3+表单验证
Dec 10 Javascript
全屏js头像上传插件源码高清版
Mar 29 Javascript
VUE使用vuex解决模块间传值问题的方法
Jun 01 Javascript
vue2利用Bus.js如何实现非父子组件通信详解
Aug 25 Javascript
vue-router 源码实现前端路由的两种方式
Jul 02 Javascript
详解vue 数组和对象渲染问题
Sep 21 Javascript
JS实现在线ps功能详解
Jul 31 Javascript
微信小程序 wxParse插件显示视频问题
Sep 27 Javascript
Vue 3.0 全家桶抢先体验
Apr 28 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
火影忍者:三大瞳力之一的白眼,为什么没有写轮眼那么出色?
2020/03/02 日漫
php中mt_rand()随机数函数用法
2014/11/24 PHP
PHP模板引擎smarty详细介绍
2015/05/26 PHP
教你在PHPStorm中配置Xdebug
2015/07/27 PHP
thinkPHP实现多字段模糊匹配查询的方法
2016/12/01 PHP
浅谈PHP命令执行php文件需要注意的问题
2016/12/16 PHP
PHP+Ajax无刷新带进度条图片上传示例
2017/02/08 PHP
利用Laravel生成Gravatar头像地址的优雅方法
2017/12/30 PHP
PHP之多条件混合筛选功能的实现方法
2019/10/09 PHP
Laravel等框架模型关联的可用性浅析
2019/12/15 PHP
javascript按位非运算符的使用方法
2013/11/14 Javascript
基于jQuery+PHP+Mysql实现在线拍照和在线浏览照片
2015/09/06 Javascript
jQuery实现伪分页的方法分享
2016/02/17 Javascript
关于JSON.parse(),JSON.stringify(),jQuery.parseJSON()的用法
2016/06/30 Javascript
JS+Canvas实现的俄罗斯方块游戏完整实例
2016/12/12 Javascript
Angular2生命周期钩子函数的详细介绍
2017/07/10 Javascript
基于node.js之调试器详解
2017/08/22 Javascript
vue-cli webpack模板项目搭建及打包时路径问题的解决方法
2018/02/26 Javascript
深入Vue-Router路由嵌套理解
2018/08/13 Javascript
layer弹出的iframe层在执行完毕后关闭当前弹出层的方法
2018/08/17 Javascript
webpack 静态资源集中输出的方法示例
2018/11/09 Javascript
Vuex持久化插件(vuex-persistedstate)解决刷新数据消失的问题
2019/04/16 Javascript
微信小游戏之使用three.js 绘制一个旋转的三角形
2019/06/10 Javascript
Python中常用的8种字符串操作方法
2019/05/06 Python
12个Python程序员面试必备问题与答案(小结)
2019/06/24 Python
详解使用django-mama-cas快速搭建CAS服务的实现
2019/10/30 Python
python pycharm最新版本激活码(永久有效)附python安装教程
2020/09/18 Python
python 解压、复制、删除 文件的实例代码
2020/02/26 Python
英国在线药房和在线药剂师:Chemist 4 U
2020/01/05 全球购物
Moss Bros官网:英国排名第一的西装店
2020/02/26 全球购物
大学生职业生涯规划范文
2013/12/31 职场文书
护理职业生涯规划书
2014/01/24 职场文书
拉拉队口号
2014/06/16 职场文书
golang 如何用反射reflect操作结构体
2021/04/28 Golang
Ajax实现三级联动效果
2021/10/05 Javascript
Windows Server 2008 修改远程登录端口以及配置防火墙
2022/04/28 Servers