如何调试从CoffeeScript生成的Node.js/JavaScript代码
How to debug Node.js/JavaScript code generated from CoffeeScript?
我正在使用Node.js的CoffeeScript。我希望能够调试弹出的JavaScript错误/异常,但这些错误的行号来自生成的JavaScript代码,而不是来自CoffeeScript源,所以我在找出CoffeeScript中的错误实际上是哪里时遇到了麻烦。
我可以调试这个吗?我有最新版本的node.js,版本0.10
.
CoffeeScript编译器支持源映射,因此有一个从JavaScript到CoffeeScript的映射,其中包含您需要知道的信息。对于您的服务器端项目,我认为Jet Brains使用此地图进行调试。在浏览器方面,Chrome似乎支持它。我不确定其中一个工具是否适合您,但如果不是,我认为CoffeeScript和source map是您应该寻找的词。好运!
我为LiveScript创建了一个工具,它的工作原理与CoffeeScript非常接近,所以你可以根据自己的需要修改它:https://github.com/ceremcem/debug-ls
简要:
使用您最喜欢的捆绑器(在本例中我使用Rollup)从主脚本生成一个带有源地图的捆绑包。
使用以下命令运行脚本:
node --enable-source-maps --inspect-brk your-bundle.js
转到Chrome的
chrome://inspect/#devices
地址找到在"远程目标"下列出的进程部分
单击"inspect"按钮
因为sourcemap,咖啡就像js。所以我们可以在vscode中调试coffee。总之,这是我的launch。json:
{
"version": "0.2.0",
"configurations": [{
"type": "node",
"request": "launch",
"name": "Launch Program",
"skipFiles": [
"<node_internals>/**"
],
"program": "${file}", //important, make sure debug current file
"outFiles": [
"${workspaceFolder}/dist/api/api.js" //important, where to find sourcemap js file
]
}]
}
相关文章:
- Node.js v6.2.0类扩展不是函数错误
- 如何使用 node.js 比较两个 json 数组
- Node.js's Buffer.writeFloatBE in Javascript
- node.js:setInterval()正在跳过调用
- 如何处理node.js节点mongodb中的连接和查询队列
- Node.js正在更改应用程序以使用集群模块
- 如何使用Node.js最有效地解析网页
- 在openshift node js应用程序中获取请求
- 正在删除node.js中已验证的网站
- 与运行长作业(javascript,node.js)的第三方API同步的最佳实践
- 在索引.html和应用.js [node.js] 之间共享变量
- Node.js中的JavaScript原型对象效率
- node.js请求数据事件未在CORS ajax调用中触发
- 使用node.js制作网站
- 使用node.js服务器中的evernote api获取note内容
- 有没有任何方法可以使用node-js从不同的机器打开浏览器
- 使用CI和CodeDeploy对node.js应用程序进行连续部署
- 在Node.js中上传和检索图像
- 什么's本地node.js服务器和python简单http服务器之间的区别
- 如何使用 Node JS 获取 JSON 嵌套数组值