如何在本地启动 http-server

How to start http-server locally

我克隆了 angular seed,它正在使用节点 http-server,并且它使用以下配置工作得很好。

Command : npm start (from root of project)

package.json 文件中的以下配置:

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

但是我无法直接启动此服务器。例如:从项目的根目录开始,none 这些命令有效:

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

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

我确信如果我在全局安装它会很好用,但我对此不感兴趣。

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

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

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

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

这应该与 运行ning npm start.

具有相同的效果

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

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

这会将此文件夹放在您的路径中,您应该可以简单地 运行

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

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

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