【发布时间】:2018-07-04 14:12:59
【问题描述】:
我正在使用 Swagger 在我的开发环境中记录我的 Node/Express API。它运行良好,但现在我需要在投入生产时禁用它,以免 API 定义可公开访问。
有没有办法做到这一点,例如使用一些 npm 脚本?
谢谢
【问题讨论】:
-
可以使用环境变量来检查。例如: if (proccess.env.NODE_ENV !== 'production') { // allow route } 并且该环境变量可以保存在 .env 文件中并以 npmjs.com/package/dotenv 加载,例如
-
谢谢,它看起来很棒 :) 所以,如果我错了,请告诉我,但假设我有一个名为“isProduction”的变量,我是否必须在继续之前手动将其设置为“true”生产,或者有什么方法可以自动化吗?
-
理想情况下,您应该拥有一个包含所有环境相关变量的
.env文件。在生产中,该文件将具有与开发中相同的键但不同的值。例如,您的 API 密钥也应该这样配置。 -
好的。所以使用 dotenv,我可以告诉 lib 我是在 prod 还是 dev 上? (抱歉,还没来得及准确阅读文档)