javascript - 如何使用 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;
解决方案
通常我只会在浏览器中加载脚本
虽然 JavaScript 编程语言最初是作为一种客户端语言,但它是一种通用语言。
如果您正在使用该express
模块,那么它将替换您的网络服务器和其他服务器端语言。它不能在浏览器中运行。
(请注意,在您的示例代码中,您永远不会启动 Express 服务器。请参阅Express 文档中的 Hello World 示例)。
您无法运行脚本并为其提供 URL 作为一项操作。你需要两个操作:
- 运行脚本以启动服务器
- 向它发出 HTTP 请求(例如通过浏览器、curl 或其他脚本)。
如果你想为 Express 服务器编写单元测试,那么这就涉及到相当复杂的领域,有很多选择。例如,请参阅此页面。
推荐阅读
- dataframe - Apache Spark 数据帧的随机分裂问题
- php - laravel 中使用 ajax 的注释
- azure-devops - 如何在 Azure DevOps 中安排 Python 脚本的执行(成功构建后)?
- android - 此组件的样式要求您的应用主题为 Theme.AppCompat
- r - 在 R 中保存 rgl 图像时遇到问题
- ios - 重用的自定义 CollectionViewCells 保留旧的大小属性
- wordpress - 使用代码更改 woocommerce 网站上的文本
- python - 在网站上运行 Python 脚本(在后台)
- python - Python 'print' 函数 'sep' 参数未按预期工作
- python - pysyft torch.jit. 脚本 RuntimeError:未定义的值 _Reduction