我想弄清楚这个还没找到任何有用的东西。
我的想法是,在某些组件或文件中,我需要根据节点变量导入特定文件。
将运行的一些示例脚本包括:
USER=test yarn run build //or
USER=test yarn run serve
现在取决于USER
变量我需要做的导入就像
import `~/users/${process.env.USER}/config.json`;
这显然不起作用,我对如何使其工作感到困惑。当然有一种方法可以在节点变量上进行导入,然后根据该变量从不同的文件夹和文件导入。任何帮助或链接将不胜感激!
答案 0 :(得分:0)
因此,需要基于节点变量的解决方法是使用FuseBox Sparky task runner和文件Api在App.tsx文件夹中编辑/替换并包含相应的样式表。
仍然需要编写一个任务来在构建或dev服务器关闭后撤消编辑。
现在暂时打开问题并希望提供更清晰的解决方案,否则我会发布更多信息并在完成此任务后关闭它:)
修改(更多信息)
因此创造了两个闪亮的工作
//css
替换为相关的import语句//css
替换import语句。所以第一个是以下内容:
Sparky.task('inject-css', async (context: SparkyContext) =>
{
await Sparky
.src('./src/~/App.tsx')
.file('*', (file: SparkyFile) =>
{
file.read();
file.setContent(
`${file.contents}`.replace(
'//css',
`import '~/user${context.user}/styles/site.scss';`
)
);
file.save();
})
.exec();
});
并且第二个作业是相同的,但替换参数反转很多,并且在进程退出时调用它。关于这部分的一些问题仍然存在,但想法是一旦通过调用process.exit()
或ctrl + c(在Mac上)关闭该过程,那么我们删除css import语句。
// ctrl + c event
process.on('SIGINT', () => {
Sparky.exec('remove-css');
});
// process.exit called
process.on('exit', () => {
Sparky.exec('remove-css');
});
// uncaught exception
process.on('uncaughtException', () => {
Sparky.exec('remove-css');
});
当我弄清楚为什么我的版本存在remove-css任务问题时会更新。