Javascript 如何基于全局变量加载css

Javascript 如何基于全局变量加载css,javascript,reactjs,postcss,react-css-modules,Javascript,Reactjs,Postcss,React Css Modules,我有一个节点项目,该项目使用以下方法创建静态响应SPA: 反应路由器 重演 邮政编码 反应css模块 它当前加载一个全局css文件和每个组件的模块化css。在开始时,我获取一个全局主题变量,该变量将是“theme-1”或“theme-2”。我想根据主题变量的值加载不同的css文件,相同的名称但不同的目录路径,例如: 如果主题为“theme-1”,则导入“/css/themes/theme1/Component.css”。 否则,如果主题为“theme-2”,则导入“/css/themes/t

我有一个节点项目,该项目使用以下方法创建静态响应SPA:

  • 反应路由器
  • 重演
  • 邮政编码
  • 反应css模块
它当前加载一个全局css文件和每个组件的模块化css。在开始时,我获取一个全局主题变量,该变量将是“theme-1”或“theme-2”。我想根据主题变量的值加载不同的css文件,相同的名称但不同的目录路径,例如:

如果主题为“theme-1”,则导入“/css/themes/theme1/Component.css”。 否则,如果主题为“theme-2”,则导入“/css/themes/theme2/Component.css”

有什么办法可以做到这一点吗

请注意,据我所知,模块导入不能包装在if/else语句中。

您可以使用require:

if(...) {
    require('/path/to/theme1.css');
}
else {
    require('/path/to/theme2.css');
}
您可以使用以下命令:

if(...) {
    require('/path/to/theme1.css');
}
else {
    require('/path/to/theme2.css');
}

您是否使用webpack?是,但仅用于捆绑静态dist文件。您是否使用webpack?是,但仅用于捆绑静态dist文件。