确定并更改node.js的DocumentRoot/端口,并运行带参数的函数。
确定并更改node.js的DocumentRoot/端口,并运行带参数的函数。
我如何确定和更改Node.js上的“DocumentRoot”等效项(Apache)和端口号?我需要通过调用函数并传递一些参数来测试脚本文件(是的,我知道文件可以自动执行)。\n在文档中没有关于此的“入门指南”或提及。
问题的原因:Node.js在Windows平台上安装后只有一个命令提示符,不清楚端口号。Node.js似乎会执行其目录下的脚本,但是没有明确指出脚本应该从哪里运行。
解决方法:根据教程在Windows上安装Express时,需要运行一系列的npm install命令。然而,这个教程没有说明应该从哪里运行这些命令。
要解决这个问题,可以按照以下步骤操作:
1. 打开正常的命令提示符(不是Node.js的控制台)。
2. 运行以下命令:
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
以上命令将安装所需的模块。
3. 通过run-func模块来运行一个带有参数的函数。可以使用以下命令来执行:
node run-func "C:\Users\John\HTTP\index.js" function_name param1 param2
请注意,全局安装这些模块不是一个好的做法,应该将模块安装在适用于项目的本地目录中。
问题的原因是使用Node.js时,没有像Apache HTTPD那样的标准配置。在Node.js中,需要自己定义文件的加载位置和服务的端口。
要解决这个问题,可以使用一些框架来简化编写通用Web服务器的过程,比如Fastify、Hapi和Express。
在这个问题中,用户试图在Windows上本地运行一个使用Express框架的Node.js应用程序。用户遵循了一个教程,并尝试执行node app命令,但是出现了一个错误:module.js:540 throw err; Error: Cannot find module。用户想知道教程中缺少了哪些步骤。
经过进一步的沟通,用户发现自己需要执行一个名为callWeatherApi(city, date)的函数,并传入自己的参数。用户还指出,他在问题中尝试保持简单,因为他知道这不会像Apache那样直接。
回答者指出Apache HTTPD是一个应用程序,而不是开发框架,所以不能直接将其与Node.js进行比较。回答者建议用户使用nodeschool.io网站来学习Node.js。
最后,回答者和用户就问题进行了一些讨论,回答者提到应该使用像node-tap.org这样的库进行测试。
总结起来,问题的原因是使用Node.js时缺乏标准配置,解决方法是使用框架来简化编写通用Web服务器的过程。在具体的问题中,用户遇到了在Windows上运行Node.js应用程序的困难,并需要执行一个特定的函数。回答者提供了一些解决方案,并建议用户学习更多关于Node.js的知识。