根据操作系统运行Node.js.

时间:2016-01-11 09:44:27

标签: linux node.js windows macos cross-platform

我是编程AND Node.js的新手,但我有一个关于在不同的操作系统上运行node.js应用程序的问题。我假设可能会发生某些特定的节点模块只能在特定的操作系统上运行。如果我想在Linux服务器上运行我的应用程序,但我在mac上开发并且linux服务器没有Internet访问权限,我怎么能确定所有节点模块都将在我的目标操作系统上运行?因此,我正在寻找安装依赖于OS密钥的节点模块的可能性。例如:

{
  "name": "some-app",
  "version": "0.0.1",
  "authors": [
    "author <author@node.com>",
  ],
  "scripts": {
    "dealwithos": "node bin/dealwithos.js"
  }
}

经过一番研究后,我找到了另一种可能的解决方案:也许我可以在package.json文件中定义一个脚本来处理这个问题。也许是这样的:

var fbLoginManager : FBSDKLoginManager = FBSDKLoginManager()
fbLoginManager.loginBehavior = FBSDKLoginBehavior.Web

但直到现在我还没能找到任何可以解决这个问题的好代码。

我希望有人能够提供一些代码或其他可能的解决方案!

此致

1 个答案:

答案 0 :(得分:0)

你的例子并不是特定的。因此,没有真正正确的答案。但我认为我可以知道,你想知道什么。

behing node.js的主要思想是它可以在所有操作系统上运行。为什么?因为您使用的是JavaScript,它在任何地方运行。大多数模块也都是用JS编写的。因此,如果您正在为Windows系统上的Linux环境编程,那么您应该确保您使用的模型只是用JS编写的。这就是普通的节点模块。

还有其他模块吗?

是。可以使用C ++创建模块。但它们并不多。如果您想使用其中一个,您应该阅读模块文档中的安装。你应该考虑JS中的替代品。但总的来说,不可能回答这个问题。

node.js应用还有另一种方式。例如,electron允许您使用JavaScript编写应用程序。在这种情况下,您应该阅读documentation about desktop integration。但那些应用程序也有一个gui。如果你只是为node.js开发,你将没有gui部分。

所以只是回答你关于os特定npm命令的建议:没有意义只为一个操作系统安装一个模块,因为node.js的想法是os独立的。