首页 > 解决方案 > 如何使用 URL 中的查询字符串在 PhpStorm 中运行 Node.js 应用程序?

问题描述

我在 PhpStorm 中有一个 Node.js 项目,index.js当我单击“运行”命令时该文件运行得很好,但现在我需要使用 URL 中的查询字符串(例如)运行它,并使用Express 中的index.js?q=query类似内容获取查询字符串参数。req.query问题是我是 PhpStorm 的新手,无法弄清楚如何使用 URL 中的参数运行脚本。

到目前为止,我只看到了运行index.js文件的选项,但没有看到运行的选项index.js?q=query。通常我只会在浏览器中加载脚本,但这违背了使用无头浏览器的目的,它需要我将应用程序从 PhpStorm 项目文件复制到 XAMPP 中的目录。

如果我运行一个类似的命令node index.js可以正常工作,但是如果我将其更改为node index.js?q=query我会收到一条错误消息“错误:找不到模块”

我也不确定我是否使用正确的语法通过 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;

标签: javascriptnode.jsexpressphpstormwebstorm

解决方案


通常我只会在浏览器中加载脚本

虽然 JavaScript 编程语言最初是作为一种客户端语言,但它是一种通用语言。

如果您正在使用该express模块,那么它将替换您的网络服务器和其他服务器端语言。它不能在浏览器中运行。

(请注意,在您的示例代码中,您永远不会启动 Express 服务器。请参阅Express 文档中的 Hello World 示例)。

您无法运行脚本并为其提供 URL 作为一项操作。你需要两个操作:

  1. 运行脚本以启动服务器
  2. 向它发出 HTTP 请求(例如通过浏览器、curl 或其他脚本)。

如果你想为 Express 服务器编写单元测试,那么这就涉及到相当复杂的领域,有很多选择。例如,请参阅此页面


推荐阅读