如何在本地启动http-server

时间:2015-07-09 21:15:32

标签: npm httpserver

我克隆了使用节点http-server的{​​{3}},并且使用以下配置完美地工作。

  

命令: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-server)不应该在这里可用(root,从哪里安装)?有人可以解释一下它是如何工作的,以及我如何直接从项目的根目录中使用它。

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

2 个答案:

答案 0 :(得分:43)

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

如果您查看项目的node_modules目录,您应该会看到一个名为http-server的目录,其中包含http-server包,以及.bin } folder,它保存已安装的依赖项中的可执行二进制文件。 .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 :(得分:0)

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

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