![](/img/trans.png)
[英]Append a directory to Amazon Lambda Environment Variables $NODE_PATH
[英]REACT_APP_* vs NODE_PATH Environment Variables
常规CRA环境变量(必须以REACT_APP_开头)和NODE_PATH变量(用于避免必须使用导入的相对路径,.. / .. / .. / foo等)之间有什么区别?
从我的测试来看,除非它们以REACT_APP开头,否则不能使用任何变量,那么如何不像其他不以REACT_APP开头的变量那样忽略NODE_PATH变量?
NODE_PATH
是可访问的,因为它是在react-scripts
中的Webpack配置中添加的。
你可以在这里看到添加它的代码: https : //github.com/facebook/create-react-app/blob/25184c4e91ebabd16fe1cde3d8630830e4a36a01/packages/react-scripts/config/env.js#L61
您将在该文件中看到您还可以设置NODE_ENV
来设置您正在运行的环境(例如development
, staging
等)以及PUBLIC_URL
要回答有关差异的问题:
NODE_PATH
允许您使用绝对路径进行导入。 例如,您可以将NODE_PATH
设置为以下内容: NODE_PATH=src:src/components:src/containers
,然后在您的React代码中,您可以编写如下内容: import Button from 'button'
import Button from '../../../button'
而不是import Button from '../../../button'
只要你在src
, src/components
或src/containers
文件夹中有一个模块,因为create-react app会查找button
模块那些文件夹。 你不会真正使用NODE_PATH
变量在你的阵营代码,您使用的是同样的方式REACT_APP_*
变量。 基本上,它告诉您的应用程序在哪里寻找模块。
REACT_APP_*
变量在构建时使用我链接到的文件中的Webpack配置注入到您的应用程序中。
这: const GRAPHQL_URI = REACT_APP_GRAPHQL_URI
变为: const GRAPHQL_URI = https://example.com
如果你的.env
文件中有这个: REACT_APP_GRAPHQL_URI = https://example.com
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.