Javascript 我在导出通过express模块提供的承诺中的URL值时遇到问题
我正在使用ngrok开发一个应用程序! 我跟随Phil的帖子介绍了如何使用nodemon设置ngrok 该职位的链接: 我想获取从承诺中收到的url,以便在 垃圾箱文件夹 通过应用服务器,我可以在我的控制器内使用。 如何导出url值 我试图设置一个空变量并导出,但它给出了未定义的结果Javascript 我在导出通过express模块提供的承诺中的URL值时遇到问题,javascript,node.js,express,node-modules,Javascript,Node.js,Express,Node Modules,我正在使用ngrok开发一个应用程序! 我跟随Phil的帖子介绍了如何使用nodemon设置ngrok 该职位的链接: 我想获取从承诺中收到的url,以便在 垃圾箱文件夹 通过应用服务器,我可以在我的控制器内使用。 如何导出url值 我试图设置一个空变量并导出,但它给出了未定义的结果 #!/usr/bin/env node if (process.env.NODE_ENV === "production") { console.error( "Do n
#!/usr/bin/env node
if (process.env.NODE_ENV === "production") {
console.error(
"Do not use nodemon in production, run bin/www directly instead."
);
process.exitCode = 1;
return;
}
const ngrok = require("ngrok");
const nodemon = require("nodemon");
let tempUrl;
ngrok.connect({
proto: "http",
addr: "3000",
})
.then((url) => {
tempUrl =url
console.log("tempUrl insde ngrok fn",tempUrl)
console.log(`ngrok tunnel opened at: ${url}`);
console.log("Open the ngrok dashboard at: https://localhost:4040\n");
nodemon({
script: "./bin/www",
exec: `NGROK_URL=${url} node`,
}).on("start", () => {
console.log("The application has started");
}).on("restart", files => {
console.group("Application restarted due to:")
files.forEach(file => console.log(file));
console.groupEnd();
}).on("quit", () => {
console.log("The application has quit, closing ngrok tunnel");
ngrok.kill().then(() => process.exit(0));
});
})
.catch((error) => {
console.error("Error opening ngrok tunnel: ", error);
process.exitCode = 1;
});
console.log("tempUrl before module export",tempUrl)
我没有意识到nodemon中的exec正在分配一个.env变量,这要感谢Bergi。你的意思是在nodemon运行的脚本中使用
process.env.NGROK\u URL
?嗨,Bergi,!非常感谢。我不知道exec通过赋值.env variableUh所做的是什么,这正是您希望通过运行NGROK\u URL=${URL}节点来实现的,不是吗?是的,这正是我想要的!我没有把这个概念写下来,你的评论让我看到了。我应该把这篇文章读到最后!