我有一个模式,在多个目录中有多组文件,例如:
sampleDir12
-> index.js
-> templateA.js
-> templateB.js
-> templateC.js
在index.js
中,我有:
import * as template from template.js
是否可以根据.env
设置更改文件名?例如在.env
中,
TEMPLATE: templateC
我想在捆绑过程中做的是删除其他模板并更改其余模板的名称,以便正确导入。
我基本上想在bundler级别上决定构建中包含哪些文件,并确保正确导入其余文件,因此如果有更好的方法,请告诉我。
1条答案
按热度按时间v1uwarro1#
您可以使用
dotenv-webpack
包从.env
文件加载环境变量,并在编译阶段替换代码中的process.env.TEMPLATE
。require()
支持动态模块路径。例如
项目结构:
webpack.config.js
:src/index.js
:src/templateA.js
:src/templateB.js
:构建日志:
输出
dist/main.js
: