Javascript 苗条环境变量+;汇总

Javascript 苗条环境变量+;汇总,javascript,environment,svelte,rollup,Javascript,Environment,Svelte,Rollup,我正在寻找一种设置环境的简单方法。也就是说,如果我可以运行npm-run-dev:local和npm-run-dev:staging,加载运行时可通过process.env访问的不同环境文件,那就太好了。在理解中,它是编译的,因此我可能必须以不同的方式访问变量。我使用的是来自sveltejs/template的直接汇总的svelte。这应该很简单,但我看不出有什么办法。这很麻烦,但可以使用webpack。有一种简单的方法可以做到这一点吗?您可以使用在编译代码中注入构建时常量 大概是这样的: ro

我正在寻找一种设置环境的简单方法。也就是说,如果我可以运行
npm-run-dev:local
npm-run-dev:staging
,加载运行时可通过
process.env
访问的不同环境文件,那就太好了。在理解中,它是编译的,因此我可能必须以不同的方式访问变量。我使用的是来自sveltejs/template的直接汇总的svelte。这应该很简单,但我看不出有什么办法。这很麻烦,但可以使用webpack。有一种简单的方法可以做到这一点吗?

您可以使用在编译代码中注入构建时常量

大概是这样的:

rollup.config.js

从“@rollup/plugin replace”导入替换
...
常数生产=!process.env.ROLLUP\u WATCH
导出默认值{
...
插件:[
替换({
'process.env':生产?'production':'dev',
}),
...
]
}
请注意该值的双引号:
“production”
。插件按照代码中的方式注入字符串,因此,如果需要字符串,则需要在引号中加引号


此外,正如插件文档中所提到的,它应该放在插件数组的开头,以实现优化,比如由其他插件甩出死代码。

有帮助吗?你也可以在npm脚本中设置env变量。不,我不明白为什么。env只允许一个环境文件。