详解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 相关文章推荐
学习JavaScript设计模式之状态模式
Jan 08 Javascript
使用Object.defineProperty实现简单的js双向绑定
Apr 15 Javascript
用jquery获取自定义的标签属性的值简单实例
Sep 17 Javascript
详解Vue 开发模式下跨域问题
Jun 06 Javascript
在iframe中使bootstrap的模态框在父页面弹出问题
Aug 07 Javascript
深入浅析ES6 Class 中的 super 关键字
Oct 20 Javascript
手机注册发送验证码倒计时的简单实例
Nov 15 Javascript
Vue中computed与methods的区别详解
Mar 24 Javascript
基于vue.js组件实现分页效果
Dec 29 Javascript
Vue的props父传子的示例代码
May 20 Javascript
在VUE style中使用data中的变量的方法
Jun 19 Javascript
vue特效之翻牌动画
Apr 20 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
新手菜鸟必读:session与cookie的区别
2013/08/22 PHP
php实现跨域提交form表单的方法【2种方法】
2016/10/17 PHP
PHP autoload使用方法及步骤详解
2020/09/05 PHP
不间断滚动JS打包类,基本可以实现所有的滚动效果,太强了
2007/12/08 Javascript
JS是否可以跨文件同时控制多个iframe页面的应用技巧
2007/12/16 Javascript
jquery中常用的SET和GET
2009/01/13 Javascript
JavaScript中实现继承的三种方式和实例
2015/01/29 Javascript
如何使用HTML5地理位置定位功能
2015/04/27 Javascript
JavaScript实现可拖拽的拖动层Div实例
2015/08/05 Javascript
jquery中的工具使用方法$.isFunction, $.isArray(), $.isWindow()
2015/08/09 Javascript
jQuery实现响应鼠标背景变化的动态菜单效果代码
2015/08/27 Javascript
AngularJS基础 ng-keydown 指令简单示例
2016/08/02 Javascript
Vue.js实战之利用vue-router实现跳转页面
2017/04/01 Javascript
如何在Vue.JS中使用图标组件
2020/08/04 Javascript
[17:13]DOTA2 HEROS教学视频教你分分钟做大人-斯拉克
2014/06/13 DOTA
Python的加密模块md5、sha、crypt使用实例
2014/09/28 Python
用python写个自动SSH登录远程服务器的小工具(实例)
2017/06/17 Python
基于Django contrib Comments 评论模块(详解)
2017/12/08 Python
在python win系统下 打开TXT文件的实例
2018/04/29 Python
Python中偏函数用法示例
2018/06/07 Python
[原创]Python入门教程5. 字典基本操作【定义、运算、常用函数】
2018/11/01 Python
Python格式化输出--%s,%d,%f的代码解析
2020/04/29 Python
Html5 new XMLHttpRequest()监听附件上传进度
2021/01/14 HTML / CSS
英国领先的电视购物零售商:Ideal World
2019/03/18 全球购物
一套VC试题
2015/01/23 面试题
国际商务专业学生个人的自我评价
2013/09/28 职场文书
电子商务专员岗位职责
2013/12/11 职场文书
宿舍打麻将检讨书
2014/01/24 职场文书
教师个人鉴定材料
2014/02/08 职场文书
《埃及的金字塔》教学反思
2014/04/07 职场文书
简单租房协议书
2014/04/09 职场文书
服务标兵事迹材料
2014/05/04 职场文书
企业管理不到位检讨书
2019/06/27 职场文书
详解MySQL的Seconds_Behind_Master
2021/05/18 MySQL
新手初学Java List 接口
2021/07/07 Java/Android
win11自动弹出虚拟键盘怎么关闭? Win11关闭虚拟键盘的技巧
2023/01/09 数码科技