详解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操作图片(增,删,改) 例子
Apr 17 Javascript
Jquery选中或取消radio示例
Sep 29 Javascript
JS获取各种浏览器窗口大小的方法
Jan 14 Javascript
web 前端常用组件之Layer弹出层组件
Sep 22 Javascript
BootStrap tab选项卡使用小结
Aug 09 Javascript
浅析BootStrap中Modal(模态框)使用心得
Dec 24 Javascript
jQuery分页插件jquery.pagination.js使用方法解析
Feb 09 Javascript
微信小程序之绑定点击事件实例详解
Jul 07 Javascript
如何优雅地在vue中添加权限控制示例详解
Mar 07 Javascript
全面解析JavaScript Module模式
Jul 24 Javascript
Javascript call及apply应用场景及实例
Aug 26 Javascript
Vue提供的三种调试方式你知道吗
Jan 18 Vue.js
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
程序员编程十条戒律
2009/07/09 PHP
php生成扇形比例图实例
2013/11/06 PHP
PHP获取mysql数据表的字段名称和详细信息的方法
2014/09/27 PHP
thinkphp3.x中变量的获取和过滤方法详解
2016/05/20 PHP
PHP入门教程之使用Mysqli操作数据库的方法(连接,查询,事务回滚等)
2016/09/11 PHP
JS控制表格隔行变色
2006/06/26 Javascript
javascript 自动转到命名锚记
2009/01/10 Javascript
javascript中键盘事件用法实例分析
2015/01/30 Javascript
使用jQuery获得内容以及内容的属性
2015/02/26 Javascript
jQuery实现的超简单点赞效果实例分析
2015/12/31 Javascript
jQuery实现动态文字搜索功能
2017/01/05 Javascript
js return返回多个值,通过对象的属性访问方法
2017/02/21 Javascript
Extjs表单输入框异步校验的插件实现方法
2017/03/20 Javascript
node.JS md5加密中文与php结果不一致的解决方法
2017/05/05 Javascript
vue使用drag与drop实现拖拽的示例代码
2017/09/07 Javascript
JS实现元素上下左右移动效果
2017/10/18 Javascript
微信小程序template模板实例详解
2017/10/27 Javascript
JavaScript插件Tab选项卡效果
2017/11/14 Javascript
node实现生成带参数的小程序二维码并保存到本地功能示例
2018/12/05 Javascript
Vue商品控件与购物车联动效果的实例代码
2019/07/21 Javascript
jQuery 淡入/淡出效果函数用法分析
2020/05/19 jQuery
js实现鼠标滑动到某个div禁止滚动
2020/09/17 Javascript
[00:32]2018DOTA2亚洲邀请赛Mineski出场
2018/04/04 DOTA
python实现从字符串中找出字符1的位置以及个数的方法
2014/08/25 Python
python 采集中文乱码问题的完美解决方法
2016/09/27 Python
Python利用BeautifulSoup解析Html的方法示例
2017/07/30 Python
Python比较2个时间大小的实现方法
2018/04/10 Python
Python面向对象程序设计类变量与成员变量、类方法与成员方法用法分析
2019/04/12 Python
Django中使用MySQL5.5的教程
2019/12/18 Python
Django crontab定时任务模块操作方法解析
2020/09/10 Python
一篇文章教你用python画动态爱心表白
2020/11/22 Python
eDreams葡萄牙:全球最大的在线旅行社之一
2019/04/15 全球购物
绿色环保标语
2014/06/12 职场文书
社区活动策划方案
2014/08/21 职场文书
民主生活会发言材料
2014/10/20 职场文书
解除合同协议书范本
2016/03/21 职场文书