在我的 Express JS API 服务器中,我尝试将 dotenv 与一个.env文件一起用于我的环境设置。
我更喜欢将该.env文件用于开发和生产环境。
我正在使用 nodemon 进行开发,目前如果我包含-r dotenv/config在 package.json > 启动脚本中:
"scripts": {
"start": "nodemon --exec babel-node -r dotenv/config index.js"
}
Run Code Online (Sandbox Code Playgroud)
process.env在应用程序的任何地方正确设置变量
但是,如果我使用脚本来index.js像这样配置 dotenv :
"scripts": {
"start": "nodemon --exec babel-node -r dotenv/config index.js"
}
Run Code Online (Sandbox Code Playgroud)
似乎process.env只在 index.js 页面中配置,我无法process.env在中间件逻辑中获取变量?在中间件执行之前,
我已经dotenv.config()在最开始执行了
我的问题是:
1. 我的逻辑使用dotenv.config()的设置不正确吗?为什么我的中间件无法获得相同的变量?
2. 如何为开发和生产设置process.env从.env文件中读取的变量?(我可能会使用 webpack 来打包我的生产版本)
谢谢你的帮助。
我的问题是,如何检查对象是否已被销毁?除了 Assigned() 之外还有什么可以检查对象是否仍然存在?
program Project1;
uses System.SysUtils;
type TObj = class
public
Name: string;
end;
var AnObj, AnObj2 : TObj;
begin
try
try
AnObj := TObj.Create;
AnObj.Name := 'Testing';
AnObj2 := AnObj; // AnObj passed to other procedures as param
FreeAndNil(AnObj2); // somewhere else "Free" the object out of my control
// as a result, AnObj is still assigned but the object is destroyed
finally
if Assigned(AnObj) then // AnObj is assigned, …Run Code Online (Sandbox Code Playgroud)