如何在本地启动http-server

问题描述 投票:20回答:2

我克隆了使用节点angular seedhttp-server,它使用以下配置完美地工作。

命令:npm start(来自项目的根目录)

package.json文件中进行以下配置:

"start": "http-server -a localhost -p 8000 -c-1",
Link to file

但是我无法直接启动此服务器。例如:从项目的根目录,这些命令都不起作用:

>  angular-seed npm http-server  
>  angular-seed node http-server
>  angular-seed http-server

这个(http服务器)不应该在这里可用(root,从哪里安装)?有人可以解释一下它是如何工作的,以及我如何直接从项目的根目录中使用它。

如果我在全球范围内安装它,我相信它会正常工作,但我对此并不感兴趣。

npm httpserver
2个回答
44
投票

当您在项目的根目录中运行npm install时,它会将所有npm依赖项安装到项目的node_modules目录中。

如果您查看项目的node_modules目录,您应该看到一个名为http-server的目录,其中包含http-server包,以及一个.bin文件夹,该目录包含已安装的依赖项中的可执行二进制文件。 .bin目录应该有http-server二进制文件(或它的链接)。

因此,在您的情况下,您应该能够通过从项目的根目录(而不是http-server)运行以下命令来启动npm start

./node_modules/.bin/http-server -a localhost -p 8000 -c-1

这应该与运行npm start具有相同的效果。

如果您正在运行Bash shell,可以通过将./node_modules/.bin文件夹添加到$PATH环境变量来简化此操作:

export PATH=./node_modules/.bin:$PATH

这将把这个文件夹放在你的路径上,你应该能够简单地运行

http-server -a localhost -p 8000 -c-1

1
投票

要在本地启动服务器,请将以下代码粘贴到package.json中,然后在命令行中运行npm start。

"scripts": { "start": "http-server -c-1 -p 8081" },

© www.soinside.com 2019 - 2024. All rights reserved.