【问题标题】:How to open two seperate nw.js apps如何打开两个单独的 nw.js 应用程序
【发布时间】:2021-02-10 00:28:50
【问题描述】:

我正在构建一个服务器和一个客户端 nwjs 应用程序,但我无法同时打开这两个应用程序。我想知道是否有任何方法可以做到这一点。我在我打开的两个 VS Code 上都运行了npm run dev,但是当我在第二个应用程序上运行此命令时,它根本不会打开(无论哪个是我想运行的第二个应用程序)。我尝试构建客户端应用程序并运行它,在它运行服务器应用程序后,它是相同的,第二个应用程序将无法启动。

这是我在两个应用程序中的 package.json 文件,我不知道这是否有帮助。只是应用中的名称不同(nwjs_client 和 nwjs_server)

{
  "name": "nwjs_server",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "dev": "nw src/",
    "prod": "nwbuild --platforms win32,win64,osx64,linux32,linux64 --buildDir dist/ src/"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "nw": "^0.49.1"
  }
}

我愿意接受任何答案,我什至不知道是否可以运行 2 个不同的 nwjs 应用程序。

【问题讨论】:

    标签: npm package.json node-webkit


    【解决方案1】:

    我对你要做什么感到困惑。

    • 如果您尝试运行 NW.js,它不是直接从 index.html 加载,而是从本地网络服务器加载显示页面:
      1. 创建一个server.js,在特定端口(如4263 或不常见的端口)上启动本地网络服务器。
      2. 如果您为此需要任何 node_modules(例如 express),请确保它是 dependency 而不是 devDependency
      3. 使用与服务器相同的端口将package.json 中的"main" 设置为"http://localhost:4263
      4. 将您的"node-main" 设置为"server.js",这将在启动应用程序时显示您的窗口之前在节点上下文中运行。
      5. 也使用相同的端口将"node-remote" 设置为"http://localhost:4263"。这将允许 Node 命令在 NW.js 中加载时在该 URL 上运行。
    • 如果您想同时运行两个命令,您可以:
      1. npm install --save-dev concurrently wait-on。这将安装两个 devDeps
      2. 将您的 npm 脚本设置为 "start": "concurrently \"npm run serve\" \"wait-on http://localhost:4263 && nw .\""
      3. 这将运行您的npm run serve 命令,这可能会启动本地网络服务器进行开发,如果使用类似 webpack 的东西,这可能需要一分钟。然后它等到localhost:4263 实际返回响应。然后它启动 NW.js

    concurrently 还可以让您同时运行任意两个(或更多)命令。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-01
      • 2019-01-17
      • 1970-01-01
      相关资源
      最近更新 更多