我正在尝试使用Intellij(IDEA)调试grunt。这些技术是:NodeJS,express,AngularJS。
问题:调试器不会在断点处停止。
我很高兴听到您的想法。
配置选项卡: 节点解释器:C:\ Program Files \ nodejs \ node.exe Javscript文件:C:\ Users [用户] \ AppData \ Roaming \ npm \ node_modules \ grunt- cli \ bin \ grunt
浏览器/实时编辑选项卡:
http://localhost:3000/
这是Gruntfile.js:
var path = require('path'); module.exports = function (grunt) { grunt.initConfig({ express: { dev: { options: { script: 'server.js' } }, }, watch: { html: { files: [ '**/*.html'], options: { livereload: true } }, server: { files: [ 'server.js'], tasks: ['express:dev'], options: { livereload: true, spawn: false // Without this option specified express won't be reloaded } }, js: { files: [ '**/*.js'], options: { livereload: true } } }, open: { express: { // Gets the port from the connect configuration path: 'http://localhost:3000' } } }); grunt.loadNpmTasks('grunt-contrib-watch'); grunt.loadNpmTasks('grunt-express-server'); grunt.loadNpmTasks('grunt-open'); grunt.registerTask('default', ['express:dev', 'watch' ])
};
刚刚尝试了一个作为Grunt任务运行的示例Angular + Express应用程序。我已经使用了您的Gruntfile.js(未更改)。我的Node.js运行配置如下所示:
配置选项卡:节点解释器:C:\ Program Files \ nodejs \ node.exe Javscript文件:C:\ Users [用户] \ AppData \ Roaming \ npm \ node_modules \ grunt-cli \ bin \ grunt工作目录:我的项目根目录- Gruntfile.js所在的文件夹
实时编辑选项卡:在启动后启用JavaScript调试器
http://localhost:3000
我在我的controllers.js中设置了断点,并在debugger => Angular代码中的断点上运行了上面的配置,这与预期的一样。我的服务器代码中的断点不是:)
为了在服务器端代码工作中获得断点,我做了以下工作:
表达:{dev:{选项:{脚本:’server.js’,debug:true}}},