确定&

Determine & change DocumentRoot/port of node.js & run a function w/parameters

如何确定和更改node.js上的"documentroot"等效(apache)和端口号?我需要通过调用函数并传递一些参数来测试脚本文件(是的,我知道该文件可以自动执行)。

文档中没有"入门"或提及这一点。


ApacheHTTPD是一个通用的Web服务器。node.js是一个开发框架,包含一个用于创建HTTP服务器的标准库。因此,对于基于node.js的应用程序,没有像ApacheHTTPD那样的标准配置。

使用node.js编写Web服务器的基本示例可以在https://nodejs.org/api/synopsis.html synopsis example中找到。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
const http = require('http');

const hostname = '127.0.0.1';
const port = 3000;

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello World
');
});

server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});

也就是说,您定义文件从何处加载,以及它们的服务端口。

这就是像fastfy、hapi和express这样的框架出现的地方。使编写通用Web服务器更容易。


我首先安装了node.js,它只是在Windows中有一个命令提示。仍然不确定端口号。

节点似乎从其目录执行脚本(例如C:
ode.js\
)。正如james在另一个answer node.js中所提到的那样,node.js本身并没有做太多的工作。我遵循了一个关于让Express在Windows上工作的教程。本教程没有提到脚本的运行位置,因此忽略在常规命令提示符(而不是节点的控制台)上运行以下命令的过去方向:

  • Run npm install
  • npm install express -g
  • npm install url -g
  • npm install fresh -g
  • npm install cookie -g
  • npm install methods -g
  • npm install crc -g
  • npm install send -g
  • npm install connect -g
  • npm install commander -g
  • npm i -D run-func
  • 好的,最后一行代码允许我们运行一个函数并传递参数,这些参数是我通过pawel的答案找到的。

    现在我可以执行以下操作:

    1
    node run-func"C:\Users\John\HTTP\index.js" function_name param1 param2