首页 > 解决方案 > VueJS:动态导入(sass)文件(从变量,可能是 process.env)

问题描述

如何从环境变量中导入动态文件?

我的范围是将特定客户端的通用主题 scss 包含到我的 app.vue(或 main.ts)中

我想做这样的事情:

<style lang="sass">
  @import"./themes/" + process.env.VUE_APP_CLIENT + "/assets/scss/theme.scss";
</style>

或者

import "./themes/" + process.env.VUE_APP_CLIENT + "/assets/scss/theme.scss";

我怎样才能做到这一点?

如果我通过import(在main.ts之上)它说

对象可能是“未定义的”。

如果我通过<style>and @import(在我的 app.vue 中)

undefined ^ 媒体查询表达式必须以 '('

知道怎么做吗?

标签: typescriptvue.jsimport

解决方案


因此,在检查了 ES6 中动态导入模块的网络后,我发现这个线程建议只使用 import() 像一个函数,它工作正常:

import("./themes/" + process.env.VUE_APP_CLIENT + "/assets/scss/theme.scss");

推荐阅读