详解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 相关文章推荐
jQuery ajax在GBK编码下表单提交终极解决方案(非二次编码方法)
Oct 20 Javascript
Jquery Ajax请求代码(2)
Jan 07 Javascript
一个级联菜单代码学习及removeClass与addClass的应用
Jan 24 Javascript
分析Node.js connect ECONNREFUSED错误
Apr 09 Javascript
javascript实现的DES加密示例
Oct 30 Javascript
常用的JS验证和函数汇总
Dec 23 Javascript
Jquery ajax 同步阻塞引起的UI线程阻塞问题
Nov 17 Javascript
Thinkjs3新手入门之添加一个新的页面
Dec 06 Javascript
关于redux-saga中take使用方法详解
Feb 27 Javascript
vue中子组件的methods中获取到props中的值方法
Aug 27 Javascript
小程序实现留言板
Nov 02 Javascript
js实现图片区域可点击大小随意改变(适用移动端)代码实例
Sep 11 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
smarty section简介与用法分析
2008/10/03 PHP
thinkphp模板继承实例简述
2014/11/26 PHP
PHP中读取文件的几个方法总结(推荐)
2016/06/03 PHP
详解PHP5.6.30与Apache2.4.x配置
2017/06/02 PHP
PHP vsprintf()函数格式化字符串操作原理解析
2020/07/14 PHP
按钮JS复制文本框和表格的代码
2011/04/01 Javascript
修改好的jquery滚动字幕效果实现代码
2011/06/22 Javascript
jquery 提交值不为空的元素示例代码
2013/05/10 Javascript
javascript firefox 自动加载iframe 自动调整高宽示例
2013/08/27 Javascript
jQuery基础语法实例入门
2014/12/23 Javascript
JS交换变量的方法
2015/01/21 Javascript
Javascript中的getUTCHours()方法使用详解
2015/06/10 Javascript
jQuery中prepend()方法使用详解
2015/08/11 Javascript
jquery实现鼠标点击后展开列表内容的导航栏效果
2015/09/14 Javascript
Jquery Easyui菜单组件Menu使用详解(15)
2016/12/18 Javascript
JavaScript基础之流程控制语句的用法
2017/08/31 Javascript
vue如何通过id从列表页跳转到对应的详情页
2018/05/01 Javascript
vue前后分离调起微信支付
2019/07/29 Javascript
使用 js 简单的实现 bind、call 、aplly代码实例
2019/09/07 Javascript
JavaScript实现京东放大镜效果
2019/12/03 Javascript
谈谈我在vue-cli3中用预渲染遇到的坑
2020/04/22 Javascript
Python中dictionary items()系列函数的用法实例
2014/08/21 Python
Python用sndhdr模块识别音频格式详解
2018/01/11 Python
Python 统计字数的思路详解
2018/05/08 Python
Python爬虫实现自动登录、签到功能的代码
2020/08/20 Python
PyCharm设置注释字体颜色以及是否倾斜的操作
2020/09/16 Python
浅析CSS3中鲜为人知的属性:-webkit-tap-highlight-color
2017/01/12 HTML / CSS
用html5绘制折线图的实例代码
2016/03/25 HTML / CSS
旅游网创业计划书
2014/01/31 职场文书
2014年创先争优活动总结
2014/05/04 职场文书
机关驾驶员违规检讨书
2014/09/13 职场文书
纪念九一八事变83周年国旗下讲话稿
2014/09/15 职场文书
租车协议书范本2014
2014/11/17 职场文书
九年级英语教学反思
2016/02/15 职场文书
NodeJs内存占用过高的排查实战记录
2021/05/10 NodeJs
C3 线性化算法与 MRO之Python中的多继承
2021/10/05 Python