一、前言
最近和同事在研究怎么利用webpack实现在不修改任何代码的前提下动态打包。因为目前的项目里面放了n多个子模块,每次打包执行npm run build,结果就是打包了全部的代码,这样不仅打包后的文件特别大臃肿,而且也影响性能,于是才有了想要哪几个模块打包哪几个模块的想法,当然,为了后期的维护问题,当然不能是打包一次修改一次代码。
既然需求是不能修改代码,那我怎么知道你需要哪些模块呢?
二、动态npm脚本
不能改代码,那就只能改脚本了,思路也有两种:动态脚本和脚本传参
2.1动态脚本
动态脚本,此处是指 不同的脚本命令,比如,你要打包A系统,你就运行npm run buid A,你要打包B系统,你就运行npm run buid B ,方法可行,但缺点也是显而易见的,你需要定义多个不同的npm脚本,随着后面项目变大,npm 脚本数量会越来越多,不利于后期维护。所以,此路不通!
2.2脚本传参
否定了动态脚本后,就只剩下脚本传参了,而这里的脚本传参不像是我在网上找到的大多数的那样,参数是确定的写死的,这里的参数肯定是动态的,而且在你在电脑上敲出打包命令后动态传入的。
一般npm 脚本传参:在具体命令上

本文探讨了如何在不修改代码的情况下,通过动态npm脚本和脚本传参实现动态打包。作者否定了定义多个不同npm脚本的方案,转而研究脚本传参,尤其是传参到具体的命令上。通过`process.argv`可以接收命令行动态传入的参数,从而实现按需打包,简化维护工作。
最低0.47元/天 解锁文章
642

被折叠的 条评论
为什么被折叠?



