详解webpack打包时排除其中一个css、js文件或单独打包一个css、js文件(两种方法)


Posted in Javascript onOctober 26, 2018

在项目中经常会需要将一些接口的配合文件或者某些样式文件,分离出来单独打包,便于后期改动,这里我以css文件为例,介绍实现两种方法:

项目目录:

详解webpack打包时排除其中一个css、js文件或单独打包一个css、js文件(两种方法)

如上图所示,现在我需要将项目中的scBtn.css文件单独打包出来。在不做任何配置,直接打包出来的css文件是压缩合并成了一个了,如下图,当我想要改某一个css文件时就不行了。

详解webpack打包时排除其中一个css、js文件或单独打包一个css、js文件(两种方法)

方法一:

1、在bulid文件夹下建一个copy.js(这个js名称可以自定义)

详解webpack打包时排除其中一个css、js文件或单独打包一个css、js文件(两种方法)

代码如下:

var fs = require('fs');
var path = require('path');

function resolve(dir) {
 return path.join(__dirname, '..', dir)
}
//origin要打包的css文件路径;target打包后的css文件路径
var qurConfig = {
 name: 'scBtn.css',
 origin: resolve('/src/assets/css/scBtn.css'),
 target: resolve('/dist/static/css/scBtn.css')
};

function copy(obj) {
 fs.createReadStream(obj.origin).pipe(fs.createWriteStream(obj.target));
 console.log('\x1B[32m%s\x1B[39m', '复制成功--------' + obj.name);

}
copy(qurConfig);

2、在package.json文件中加入 "copy": "node build/copy.js"

详解webpack打包时排除其中一个css、js文件或单独打包一个css、js文件(两种方法)

3、在html文件中引入scBtn.css文件,这里需要放在下面,因为放上面打包的css会后引入会覆盖前面的样式

详解webpack打包时排除其中一个css、js文件或单独打包一个css、js文件(两种方法)

4、运行 npm run bulid 打包完后再运行 npm run copy

详解webpack打包时排除其中一个css、js文件或单独打包一个css、js文件(两种方法)

这时你就可以在scBtn中改样式了。

方法二:

步骤一、步骤二如方法一所示。

3、在html文件中引入scBtn.css文件,这时你不要放在底部,因为方法二的思路是在打包所有css文件时排除scBtn.css,不会有样式覆盖的问题。

详解webpack打包时排除其中一个css、js文件或单独打包一个css、js文件(两种方法)

4、如下图,你需要修改bulid文件夹下,utils.js文件中的styleLoaders函数,加一个判断条件,在extension为css时正则改成test: new RegExp("^((?!scBtn).)*.css$"),排除scBtn.css文件

详解webpack打包时排除其中一个css、js文件或单独打包一个css、js文件(两种方法)

5、运行 npm run bulid 打包完后再运行 npm run copy;就可以了

js文件也是按照此方法就好了

总结

以上所述是小编给大家介绍的webpack打包时排除其中一个css、js文件或单独打包一个css、js文件,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
js trim函数 去空格函数与正则集锦
Nov 20 Javascript
如何确保JavaScript的执行顺序 之实战篇
Mar 03 Javascript
JS调用页面表格导出excel示例代码
Mar 18 Javascript
JavaScript中使用Object.create()创建对象介绍
Dec 30 Javascript
jQuery.position()方法获取不到值的安全替换方法
Mar 13 Javascript
jQuery EasyUI中的日期控件DateBox修改方法
Nov 09 Javascript
Vue分页组件实例代码
Apr 17 Javascript
微信小程序使用audio组件播放音乐功能示例【附源码下载】
Dec 08 Javascript
webpack打包js的方法
Mar 12 Javascript
JS如何生成随机验证码
Mar 02 Javascript
使用vue打包进行云服务器上传的问题
Mar 02 Javascript
VUE UPLOAD 通过ACTION返回上传结果操作
Sep 07 Javascript
js自定义input文件上传样式
Oct 26 #Javascript
解决axios会发送两次请求,有个OPTIONS请求的问题
Oct 25 #Javascript
在Vue中使用axios请求拦截的实现方法
Oct 25 #Javascript
webpack4+react多页面架构的实现
Oct 25 #Javascript
浅谈让你的代码更简短,更整洁,更易读的ES6小技巧
Oct 25 #Javascript
代码整洁之道(重构)
Oct 25 #Javascript
Vue使用NPM方式搭建项目
Oct 25 #Javascript
You might like
简单分析ucenter 会员同步登录通信原理
2014/08/25 PHP
Bootstrap 轮播(Carousel)插件
2016/12/26 Javascript
angular.js + require.js构建模块化单页面应用的方法步骤
2017/07/19 Javascript
React Native中TabBarIOS的简单使用方法示例
2017/10/13 Javascript
Vue2.0+ElementUI实现表格翻页的实例
2017/10/23 Javascript
超出JavaScript安全整数限制的数字计算BigInt详解
2018/06/24 Javascript
vue使用laydate时间插件的方法
2018/11/14 Javascript
react脚手架如何配置less和ant按需加载的方法步骤
2018/11/28 Javascript
谈谈JavaScript中super(props)的重要性
2019/02/12 Javascript
es6中reduce的基本使用方法
2019/09/10 Javascript
js实现随机div颜色位置 类似满天星效果
2019/10/24 Javascript
webpack+express实现文件精确缓存的示例代码
2020/06/11 Javascript
vue 使用原生组件上传图片的实例
2020/09/08 Javascript
[54:25]Ti4 循环赛第三日LGD vs MOUZ
2014/07/12 DOTA
[57:53]Secret vs Pain 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
[59:48]LGD vs IG 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python抓取京东商城手机列表url实例代码
2013/12/18 Python
Python中for循环和while循环的基本使用方法
2015/08/21 Python
python计算日期之间的放假日期
2018/06/05 Python
keras 如何保存最佳的训练模型
2020/05/25 Python
Python生成器传参数及返回值原理解析
2020/07/22 Python
CSS3中的display:grid,网格布局介绍
2019/10/30 HTML / CSS
详解HTML5中rel属性的prefetch预加载功能使用
2016/05/06 HTML / CSS
美体小铺加拿大官方网站:The Body Shop加拿大
2016/10/30 全球购物
俄罗斯街头服装品牌:Black Star Wear
2017/03/01 全球购物
什么是servlet
2012/05/08 面试题
园林设计师自荐信
2013/11/18 职场文书
教育科研先进个人材料
2014/01/26 职场文书
班组建设经验交流材料
2014/05/12 职场文书
纪律教育学习月活动总结
2014/08/27 职场文书
授权委托书样本
2014/09/25 职场文书
森马旗舰店双十一营销方案
2014/09/29 职场文书
个人房屋买卖协议书(范本)
2014/10/04 职场文书
24句精辟的现实社会语录,句句扎心,道尽人性
2019/08/29 职场文书
Python Flask请求扩展与中间件相关知识总结
2021/06/11 Python
Java面试题冲刺第十八天--Spring框架3
2021/08/07 面试题