【发布时间】:2016-12-20 10:00:27
【问题描述】:
我有一个 "server" 文件夹,我在其中安装了一个 npm package.json 文件和 http 服务器,还有一个 "webdir" 文件夹 与 web页面(在“服务器”文件夹内)。
我在 npm package.json 文件中写了一个命令 npm start,它做了 3 件事:
- 进入网页所在文件夹:
cd webdir - 启动http服务器:
node ../node_modules/http-server/bin/http-server - 打开网页:
open http:localhost:8080
最终代码:"start": "cd webdir && node ../node_modules/http-server/bin/http-server && open http:localhost:8080"
我遇到一个问题:如果我在package.json文件中使用&&或分号依次编写这三个命令,第三个命令在我手动停止服务器之前不会执行。显然,在服务器关闭之前,启动服务器的命令仍然不完整。
如何避免?
我在 Imac (Mac OS EL Capitan) 上工作
【问题讨论】:
-
它一直在运行,因为服务器一直在运行。您可以尝试交换第二个和第三个命令(也许启动服务器比您的浏览器打开页面快一点)。
-
@robertklep 我试过了,它不起作用。我得到一个未加载的页面(标准页面加载错误),我需要手动刷新它。如果我在它之后再做一次 - 我会得到类似页面的缓存版本(如果我在启动服务器之前对其进行了更改,它们不会出现,直到我手动刷新页面)
-
这种情况下,你需要在后台启动服务器,所以剩下的命令会继续运行。但是,这并不理想,因为它会让服务器在
npm已经停止之后继续运行。 -
你可以使用 child_process.请参阅nodejs.org/api/…,更具体地了解您的情况krasimirtsonev.com/blog/article/…
-
@robertklep 我该怎么做?我需要启动服务器并在“npm start”命令上打开页面...
标签: json node.js http npm server