如何使用调试器(如Google Chrome调试器)逐行调试my gulpfile.js中定义的gulp任务?

推荐答案

用Node.js版本6.3+运行任务时可以使用--inspect flag.

要调试名为css的gulp任务,请执行以下操作:

  1. 找出你的胃在哪里.如果在本地安装gulp,这将是node_modules/.bin/gulp.如果gulp是在全局安装的,请在终端中运行which gulp(Linux/Mac)或where gulp(Windows)来查找它.

  2. 根据 node 的版本运行其中一个命令.js.如果需要,将./node_modules/.bin/gulp替换为步骤1中的gulp安装路径.

    • node .js 6.3+:node --inspect --debug-brk ./node_modules/.bin/gulp css
    • node .js 7+:node --inspect-brk ./node_modules/.bin/gulp css
  3. 使用Chrome浏览到chrome://inspect.

--debug-brk(Node.js 6.3+)和--inspect-brk(Node.js 7+)标志用于暂停任务第一行代码的代码执行.这使您有机会在任务完成之前打开Chrome调试器并设置断点.

如果不想让调试器在代码的第一行暂停,只需使用--inspect标志.

你也可以安装Chrome的Node.js Inspector Manager (NIM)扩展来帮助完成第3步.这将自动打开一个Chrome选项卡,调试器已准备就绪,可以替代手动浏览URL.

Node.js相关问答推荐

MongoServelSelection错误:服务器 Select 在30000 ms后超时

Node.js promise 循环中的所有多个API调用

当建议在第二代上运行云功能时,现在是否有新的Firestore AdminClient可供使用?

GraphQL MongoDB Mongoose填充字段未获取多个类别

从目录中获取所有文件,而不是NodeJS中的单个文件

在对象的嵌套数组中使用$lookup,创建多个记录作为响应,mongodb

在mongoose虚拟属性中处理异步操作

如何使用对象中的常量值验证字符串字段?

Docker node_modules 文件夹上的 React 应用程序不可用

如何从动态Typescript 文件加载模块

bash:npm:找不到命令?

如何获取在 NodeJS 中执行的脚本的文件名?

在 Node.js 与 Cron 作业(job)中设置间隔?

如何让should.be.false语法通过 jslint?

用一级 try ... catch 捕获 JavaScript Promise 中的错误

node.js 中存储的模块变量在什么范围内?

Node.js 17.0.1 Gatsby 错误-数字信封 routine ::不支持 ... ERR_OSSL_EVP_UNSUPPORTED

续集findbyid不是一个函数,但显然findAll是

npm install packagename --save-dev 不更新 package.json

mongoose 填充与对象嵌套