我正在寻找一种简单的方法来设置环境。即如果我可以运行# 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有关。有没有简单的方法可以做到这一点?
答案 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"'
。该插件将按代码中的原样插入字符串,因此,如果要使用字符串,则需要在引号中加上引号。
此外,如插件文档中所述,应将其放在插件数组的开头,以进行优化,例如通过跟随其后的其他插件清除死代码。