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写一个鼠标拖动效果实现原理与代码
Dec 24 Javascript
Jquery设置attr的disabled属性控制某行显示或者隐藏
Sep 25 Javascript
Javascript中判断对象是否为空
Jun 10 Javascript
微信小程序 简单DEMO布局,逻辑,样式的练习
Nov 30 Javascript
Bootstrap源码解读下拉菜单(4)
Dec 23 Javascript
微信小程序当前时间时段选择器插件使用方法详解
Dec 28 Javascript
jQuery实现的点击图片居中放大缩小功能示例
Jan 16 jQuery
详解JavaScript 浮点数运算的精度问题
Jul 23 Javascript
微信小程序如何获取用户头像和昵称
Sep 23 Javascript
Vue proxyTable配置多个接口地址,解决跨域的问题
Sep 11 Javascript
react+antd 递归实现树状目录操作
Nov 02 Javascript
微信小程序实现页面左右滑动
Nov 16 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使用递归计算文件夹大小
2014/12/24 PHP
Thinkphp 5.0实现微信企业付款到零钱
2018/09/30 PHP
php无限极分类实现方法分析
2019/07/04 PHP
javascript知识点收藏
2007/02/22 Javascript
一些常用的JS功能函数(2009-06-04更新)
2009/06/04 Javascript
JQuery 操作Javascript对象和数组的工具函数小结
2010/01/22 Javascript
javascript中substr,substring,slice.splice的区别说明
2010/11/25 Javascript
jquery easyui combox一些实用的小方法
2013/12/25 Javascript
在Ubuntu系统上安装Ghost博客平台的教程
2015/06/17 Javascript
JavaScript学习笔记之数组随机排序
2016/03/23 Javascript
javascript作用域、作用域链(菜鸟必看)
2016/06/16 Javascript
在Mac OS上安装使用Node.js的项目自动化构建工具Gulp
2016/06/18 Javascript
Javascript获取随机数的实现方法
2016/06/22 Javascript
原生javascript上传图片带进度条【实例分享】
2017/04/06 Javascript
Vue+webpack+Element 兼容问题总结(小结)
2018/08/16 Javascript
vue props对象validator自定义函数实例
2019/11/13 Javascript
python33 urllib2使用方法细节讲解
2013/12/03 Python
python提示No module named images的解决方法
2014/09/29 Python
详解Python 数据库 (sqlite3)应用
2016/12/07 Python
浅谈python中copy和deepcopy中的区别
2017/10/23 Python
Python类和对象的定义与实际应用案例分析
2018/12/27 Python
对PyQt5中的菜单栏和工具栏实例详解
2019/06/20 Python
属性与 @property 方法让你的python更高效
2020/09/21 Python
利用 CSS3 实现的无缝轮播功能代码
2017/09/25 HTML / CSS
Kenneth Cole官网:纽约时尚优雅品牌
2016/11/14 全球购物
西班牙在线宠物商店:zooplus.es
2017/02/24 全球购物
什么是Oracle的后台进程background processes?都有哪些后台进程?
2012/04/26 面试题
模具专业毕业生自荐书范文
2014/02/19 职场文书
社区交通安全实施方案
2014/03/22 职场文书
运动会开幕式新闻稿
2015/07/17 职场文书
PHP连接MSSQL数据库案例,PHPWAMP多个PHP版本连接SQL Server数据库
2021/04/16 PHP
Go缓冲channel和非缓冲channel的区别说明
2021/04/25 Golang
安装pytorch时报sslerror错误的解决方案
2021/05/17 Python
python opencv旋转图片的使用方法
2021/06/04 Python
「女孩的钓鱼慢活」全新版权绘公布
2022/03/21 日漫
vue route新窗口跳转页面并且携带与接收参数
2022/04/10 Vue.js