我的package.json具有以下脚本:
"build": "sh -ac '. .env.${REACT_APP_ENV}; react-scripts build'"
当我运行时yarn build
,出现以下错误:
sh: .env.: No such file or directory
.env文件位于我的项目目录的顶层,如预期的那样。有任何想法吗?
复制或重命名.env.foo
,以.env.foo.sh
添加export
在每行,这样的开头:
export REACT_APP_HEADER_COLOR="#f66"
源此新的shellscript而不是旧的env文件:
"sh -ac '. .env.${REACT_APP_ENV}.sh; react-scripts build'"
现在,变量将成功传递给构建过程,以供使用。
壳就是这样工作的。加载到当前外壳程序中(带有source
或.
或赋值)的环境变量,如果导出,则仅传递给子级:
$ FOO=foo
$ sh -c 'echo $FOO'
$ export FOO=foo
$ sh -c 'echo $FOO'
foo
请注意,这些单行快捷方式也会自动/隐式导出:
$ BAR=bar sh -c 'echo $BAR'
bar
$ env BAR=baz sh -c 'echo $BAR'
baz
(我怀疑这种隐藏的行为经常引起混乱。)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句