我在PhpStorm中有一个Node.js项目,当我单击Run命令时运行index.js
文件很好,但现在我需要在URL中运行查询字符串(例如index.js?q=query
),并使用Express中req.query
之类的东西获得查询字符串参数。问题是我是PhpStorm的新手,不知道如何在URL中使用参数运行脚本。
index.js
文件的选项,但没有运行index.js?q=query
的选项。通常我会在浏览器中加载脚本,但这有点违背了使用无头浏览器的目的,它需要我将应用程序从PhpStorm项目文件复制到XAMPP中的一个目录。
如果我运行像node index.js
这样的命令,它可以正常工作,但如果我将其更改为node index.js?q=query
,我会得到一个错误,说" error: Cannot find module">
我也不确定我是否使用正确的语法通过Express访问查询参数。
const express = require('express')
const exp = express();
const url = exp.req.query.url;
const keyword = exp.req.query.q;
const source = exp.req.query.source;
通常我会在浏览器中加载脚本
虽然JavaScript编程语言以客户端语言开始,但它是一种通用目的语言。
如果您正在使用express
模块,那么它将取代您的web服务器和其他服务器端语言。它在浏览器内运行。
(注意,在示例代码中,您从未启动Express服务器。参见Express文档中的Hello World示例)。
你不能运行你的脚本,并提供一个URL作为一个操作。您需要两个操作:
- 运行脚本启动服务器
- 向它发出HTTP请求(例如通过浏览器、curl或其他脚本)。
如果您想为Express服务器编写单元测试,那么这就进入了一个相当复杂的领域,有很多选项。