svelte +汇总中的环境变量

时间:2020-06-29 22:51:49

标签: javascript environment svelte rollup

我正在寻找一种简单的方法来设置环境。即如果我可以运行# Create boolean mask has_comma = covid["Province/State"].str.contains(",") # a boolean series # Create column with default value of empty string covid["State"] = "" # Change "State" values where condition is true covid.loc[has_comma, "State"] = covid["Province/State"].str[-2:] # Change "State" values where condition is false covid.loc[~has_comma, "State"] = covid["Province/State"].map(codes) npm run dev:local来加载不同的环境文件,那将是很好的,这些文件可以在运行时通过npm run dev:staging访问。为了了解它是经过编译的,所以我可能不得不以其他方式访问变量。我正在直接从sveltejs / template使用svelte进行汇总。它应该很简单,但我认为没有办法。这很麻烦,但可能与webpack有关。有没有简单的方法可以做到这一点?

1 个答案:

答案 0 :(得分:1)

您可以使用@rollup/plugin-replace在编译后的代码中注入构建时间常数。

类似这样的东西:

rollup.config.js

import replace from '@rollup/plugin-replace'
...

const production = !process.env.ROLLUP_WATCH

export default {
  ...
  plugins: [
    replace({
      'process.env': production ? '"production"' : '"dev"',
    }),
    ...
  ]
}

请注意值的双引号:'"production"'。该插件将按代码中的原样插入字符串,因此,如果要使用字符串,则需要在引号中加上引号。

此外,如插件文档中所述,应将其放在插件数组的开头,以进行优化,例如通过跟随其后的其他插件清除死代码。

相关问题