javascript - 如何调试 nodejs API
问题描述
我一直在做一个 vue 项目。
这个 vue 项目使用我创建的 nodejs API,简单来说,它们是两个完全不同的项目,它们不在同一个目录中,它们是分开启动的。
问题是每当我使用node --inspect --debug-break event_type.controller.js
例如名为:
“/事件类型/创建”
exports.create = (req, res) => {
const userId = jwt.getUserId(req.headers.authorization);
if (userId == null) {
res.status(401).send(Response.response401());
return;
}
// Validate request
if (!req.body.label || !req.body.calendarId) {
res.status(400).send(Response.response400());
return;
}
const calendarId = req.body.calendarId; // Calendar id
// Save to database
EventType.create({
label: req.body.label,
}).then((eventType) => {
Calendar.findByPk(calendarId).then((calendar) => {
eventType.addCalendar(calendar); // Add a Calendar
res.status(201).send(eventType);
}).catch((err) => {
res.status(500).send(Response.response500(err.message));
});
}).catch((err) => {
res.status(500).send(Response.response500(err.message));
});
};
即使我在const userId = jwt.getUserId(req.headers.authorization);
并从我的 vue 应用程序触发 api createEventType 事件,我的断点没有通过。
此外,当我使用调试器在第一行的断点后按 f8 时,我的文件会自动关闭。
我不使用VS Code而是使用Vim进行编码,但我听说 Vs Code 可能允许一种简化的方式来调试 nodejs 应用程序。
注意:我使用 V8 节点调试器。
解决方案
对于较新的 NodeJS 版本(> 7.0.0),您需要使用
node --inspect-brk event_type.controller.js
代替
node --inspect --debug-break event_type.controller.js
在应用程序代码的第一行中断。有关更多信息,请参阅https://nodejs.org/api/debugger.html#debugger_advanced_usage。
推荐阅读
- java - 无法将所有输入都放入java中的字符串数组
- javascript - 使用 javascript 和 jQuery 选择所有元素
- c# - 我和聊天机器人之间的聊天没有出现在旨在让聊天变得统一的区域中
- javascript - 谷歌地图不显示任何东西
- r - 如何通过组变量对数据进行子集化,保留保留组中的所有条目
- javascript - chrome下载功能不传递文件名
- python - 尝试使用充当 HTTPS 服务器的 python 脚本接收 HTTPS 请求时出错 - sslv3 警报证书未知
- c# - 从C#中的字符串中过滤数字
- python-3.x - 如何在服务器中运行谷歌人员服务以制作 token.pickle
- pandas - 根据数据重复生成唯一 ID