【问题标题】:How do I start nodejs web-site under iisexpress/iisnode from a command line?如何从命令行在 iis express/iisnode 下启动 node js 网站?
【发布时间】:2012-07-21 15:50:23
【问题描述】:

我在试图弄清楚如何在 issexpress/issnode 不使用 Web-Matrix 下启动 nodejs 网站时遇到问题。基本上,我需要通过单击 Web-Matrix 中的开始/停止但在它之外完成相同的操作。

更新

如果一个网站可以运行

node.exe sever.js

为什么我需要 iisexpress 或 iisnode 或 web-matrix 或其他任何东西?

【问题讨论】:

    标签: webmatrix iis-express iisnode


    【解决方案1】:

    你不需要 IISNode 或 WebMatrix 在 windows 上做节点开发。

    IISNode 提供了从节点到 IIS 的桥梁——如果您在 Windows 上运行节点,这可能是您在生产中要做的事情。在开发时,我们包含在 WebMatrix 中,以便您在开发时和生产中获得一致的体验。如果您不想使用 IISNode,您可以使用命令行来启动进程(如您所想)。

    WebMatrix 只是一个代码编辑器。它使 Node 项目的工作变得更容易,并为您提供了大量用于节点开发的花里胡哨。出于上述原因,我们使用节点模板关闭 IISNode - 但您当然不必使用它。

    【讨论】:

    • 很抱歉换了话题,但你说我们指的是WebMatrix,所以我相信你有点接近它。有一件非常烦人的事情使得在 WebMatrix 中为 Knockout.js 开发是不可能的,即 WebMatrix 重新格式化了 scrip 标签的内容,即使它的类型不是 text/javascript(在我的例子中是 text/html)。我不需要重新格式化,如何禁用此功能?
    • 好吧,我想说让用户安装不必要的东西,比如 ISS express 并没有帮助学习如何在 node.js 中编程。因为它没有提供立竿见影的好处,也没有解释为什么需要 IIS。通过提到“一致的体验”,您是否暗示 IIS 向 node.js 添加了一些内容,在 Windows 的 node.js 中编码时需要考虑这些内容?
    • 谢谢你的回答顺便说一句!
    • 是的,我是 WebMatrix 团队的一员 :) 我们的 HTML 编辑器中存在一个错误,我们仍在尝试将 text/html 作为脚本的脚本块中的文本处理。我们在即将发布的版本中修复了这个错误,未来我们会做更多的事情。使用 IIS 节点 - 我们已经收到反馈,我们希望让体验变得更简单:)
    【解决方案2】:

    一旦您在 IISExpress 中配置了您的站点(可能通过 WebMatrix 或 VisualStudio),它将被记录在 IIS 中,默认情况下使用您的 Web 项目的名称。它现在可以这样初始化:

    start C:/Program Files/IIS Express/iisexpress /site:YourProjectName

    所以,你可以在 server.js 中调用 iisexpress 工具:

    /* in your server.js */
    
    var fs = require("fs");
    var exec = require("child_process").exec;
    
    var IIS_PATH = "C:/Program Files/IIS Express/";
    var IIS_PATH_64 = "C:/Program Files (x86)/IIS Express/";
    var IIS_COMMAND = "iisexpress";
    var SITE_NAME = process.argv.slice(2)[0] || "MyDefaultWebProject";
    var IIS_PARAM = " /site:" + SITE_NAME;
    
    if(!fs.existsSync(IIS_PATH))
        IIS_PATH = IIS_PATH_64;
    
    exec("start " + IIS_COMMAND + IIS_PARAM, {cwd: IIS_PATH });
    

    然后像这样运行:

    node server.js MyWebProject

    ;)

    【讨论】:

      猜你喜欢
      • 2018-02-26
      • 2011-10-13
      • 2017-04-08
      • 2023-04-07
      • 1970-01-01
      • 2011-04-13
      • 1970-01-01
      • 1970-01-01
      • 2011-10-01
      相关资源
      最近更新 更多