webpack替换配置项和压缩js、css,不打包!不打包!不打包!

发布于 2022-09-07 23:18:01 字数 1010 浏览 34 评论 0

问题描述

一个js工具项目,有多个目录,部署好以后提供地址给别人调用,但是项目里有些api接口地址开发、测试、生产各个环境不一样,所以想把各环境配置好以后,使用webpack的define插件进行替换。
我期望的就是只想替换配置项和压缩js、css,不打包,不打包,不打包

问题出现的环境背景及自己尝试过哪些方法

调研的时候只尝试了单个文件的define替换,没有问题,实际应用到项目里发现,entry可以通过glob生成,但是在编译过程中会进行打包,就报错某些Module not found,进行不下去了。

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

//entries函数
var entries= function () {
 var srcDir = resolve('/src/')
 var entryFiles = glob.sync(srcDir + '**/*.js')
 var map = {};
 for (var i = 0; i < entryFiles.length; i++) {
  var filePath = entryFiles[i];
  var filename = filePath.substring(filePath.lastIndexOf('\/') + 1, filePath.lastIndexOf('.'));
  map[filename] = filePath;
 }
 console.log(map)
 return map;
}

// define
new webpack.DefinePlugin(function () {
    let obj = {}
    for (let key in config) {
        obj['envConfig.' + key] = config[key]
    }
    return obj
}())

你期待的结果是什么?

不知道有没有什么方案可以实现我的期望,希望各位有经验的大佬能助我一臂之力,谢谢!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

纵山崖 2022-09-14 23:18:01

如果只是替换为啥要用 webpack,随便写个脚本当纯文本读进来替换完写回去就好了。

始终不够 2022-09-14 23:18:01

可以用 externals

不打包的话就不要用webpack了。

度的依靠╰つ 2022-09-14 23:18:01

最后没有使用webpack了,webpack模块化打包,不适合我的场景。
用nodejs遍历目录各种逻辑判断完成了。
谢谢回答的两位

饮惑 2022-09-14 23:18:01

流程处理,可以使用gulp和grunt等流程处理工具。
至于代码压缩可以使用对应的插件,不打包。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文