【发布时间】:2016-07-01 17:28:11
【问题描述】:
我正在构建一个 Node 应用程序,它使用 Google 自定义搜索引擎 (CSE) 返回搜索结果。
我将分离应用程序中向 Google 发送请求并将结果返回到模块中的部分。
我已经在应用程序中使用dotenv 来存储 MongoDB 凭据和应用程序的 URL。
我还想在模块中使用 dotenv 来存储 Google CSE ID 和 CSE 的 API 密钥。
我希望我的模块独立于主应用程序工作,但当它是一个模块时也可以使用主应用程序的 dotenv 文件。
目前我的模块结构如下:
module
|
+-- node_modules
| |
| \-- dotenv
| |
| \-- (dotenv module's files....)
|
+-- .env
|
\-- index.js
这本身就可以完美运行。 .env 文件存储了所需的环境变量,我可以通过需要 dotenv 模块在 index.js 文件中访问它们。
当包含在主应用程序中时,结构如下所示:
app
|
+-- node_modules
| |
| +-- dotenv
| | |
| | \-- (dotenv module's files....)
| |
| \-- my_google_search_module
| |
| +-- node_modules
| | |
| | +-- dotenv
| | |
| | \-- (dotenv module's files...)
| |
| \-- index.js
|
+-- .env
|
\-- index.js
这也有效。我将所有环境变量存储在主应用程序的 .env 文件中,并通过在应用程序的 index.js 中要求 dotenv 来访问这些变量。另外,“my_google_search_module”似乎正在从应用程序根目录中的 .env 文件中提取所需的变量。模块中没有 .env 文件。
我的问题是我这样做是否正确?
【问题讨论】:
标签: javascript node.js npm node-modules