我继承了一个webapp项目,该项目是一个单独的html页面,其中包含导入主app.js的JQuery +额外javascript文件。 webapp旨在嵌入我们的主应用程序中。
webapp通过webpack配置分发,该配置从所有javascript文件构建bundle.js,并根据主应用程序的要求单独添加html和css文件。
所有这些都很有效,除了为了测试webapp独立,我们在app.js中包含了testdata。
import td from ./testdata.js
if ([we are in the main application]) {
// do whatever necessary to start the webapp
}
else {
// standalone
let testdata = td.getTestdata();
// start webapp
}
在生产版本中,我想阻止testdata与bundle.js捆绑在一起。
我曾尝试在else子句中导入testdata.js,但这会导致错误。
我试图用空的覆盖testdata.js,但这需要在webpack配置中完成,我找不到添加' pre bundle'动作。
处理此问题的最佳方法是什么?
答案 0 :(得分:0)
为webapp创建一个入口点,为测试创建另一个入口点。通过这种方式,您将不需要这种情况。
app.js
import app from ./bundle.js
// do whatever necessary to start the webapp
test.js
import app from ./bundle.js
import td from ./testdata.js
let testdata = td.getTestdata();
// app things