Javascript 我在导出通过express模块提供的承诺中的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

我正在使用ngrok开发一个应用程序! 我跟随Phil的帖子介绍了如何使用nodemon设置ngrok 该职位的链接:

我想获取从承诺中收到的url,以便在

垃圾箱文件夹

通过应用服务器,我可以在我的控制器内使用。 如何导出url值

我试图设置一个空变量并导出,但它给出了未定义的结果

#!/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}节点来实现的,不是吗?是的,这正是我想要的!我没有把这个概念写下来,你的评论让我看到了。我应该把这篇文章读到最后!