【发布时间】:2021-09-02 17:55:31
【问题描述】:
我需要在设置环境变量时将文件导入到我的项目中,比如dist/built.esm.js。暗示当设置环境变量时,该文件将存在,否则它可能存在也可能不存在。在检查环境变量的 if 语句中包装对 import 的调用似乎很简单,但即使 if 语句从未通过,Vue 也会抛出以下警告:
还有代码:
if (process.env.VUE_APP_USE_COMPILED == 'true') {
const compiledPackage = require('./dist/built.esm.js')
Vue.use(compiledPackage)
}
以不确定的方式将 if 语句设置为始终为 false(设置字符串 var,然后将其与不同的值进行比较,而不仅仅是 if (false))会导致相同的问题,这排除了环境的任何可能性变量不应该是“真”。
我发现的一个临时解决方法是将导入包装在 try/catch 中,这会显示警告而不是错误:
我怎样才能完全摆脱错误和警告?如果文件不存在但环境变量已设置为 true,我确实希望它仍然出错,但如果语句尚未执行,它不应该失败或在编译时发出警告。
【问题讨论】:
-
@LawrenceCherone 很好。我更新了示例代码和屏幕截图以正确导入。
标签: node.js vue.js webpack vuejs2 dynamic-import