当前位置: 首页 > 面试题库 >

使用Intellij调试Grunt

程仲卿
2023-03-14
问题内容

我正在尝试使用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任务运行的html" target="_blank">示例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代码中的断点上运行了上面的配置,这与预期的一样。我的服务器代码中的断点不是:)

为了在服务器端代码工作中获得断点,我做了以下工作:

  • 在Gruntfile.js中为开发人员选项添加了’debug:true’:

表达:{dev:{选项:{脚本:’server.js’,debug:true}}},

  • 修改了node_modules \ grunt-express-server \ tasks \ lib \ server.js,第65行,将’–debug’更改为’–debug-brk =’(在我的情况下为’–debug-brk = 47977’)


 类似资料:
  • 主要内容:断点,Evaluate表达式,Step Into,Step Out,Resume Program,Inspecting variablesIntellij Idea 调试功能,允许我们跟踪正在运行的代码,检查代码状态和​​执行流程。IntelliJ IDEA 调试器帮助我们轻松调试从最简单的代码到复杂的应用程序的任何内容。使用 IntelliJ 调试器,我们可以执行以下步骤 - 在任何时候停止程序的执行、单步执行函数、行断点、检查变量、评估表达式等。一些 Java 内置调试​​器是:

  • 我想使用IntelliJ的交互式调试器。 <罢工> 不幸的是,我无法说服IntelliJ加载和编译插件。然而, 我可以执行并且插件按照预期构建并运行其测试。 具体地说,我正在尝试调试对gradle-js-plugin的本地更改 <罢工> IntelliJ说它找不到 以及 。(我在想也许是因为它们的装填方式,但那只是猜测。) 打开了新创建的项目,并尝试使用步骤0中的ScriptRunner进行调试。

  • 我通过maven-archetype-mojo创建了一个maven插件。我的intellij版本是:intellij 2018.1.7 并且我已经尝试了以下步骤来启动远程调试过程。 我创建了一个远程调试配置并将其指向端口8000 我在项目文件夹的终端中运行mvnDebug clean install,它显示: 准备在调试模式下执行Maven,侦听地址为8000的传输dt_socket null

  • 我正在使用spring-boot、jsp和嵌入式Tomcat开发一个web应用程序(war打包)。应用程序运行良好,如果我用spring-boot:run目标添加一个maven运行配置,我就可以毫无问题地调试java文件。 但是当我尝试在我的一个jsp文件中添加断点时,IntelliJ会显示这样的错误:“断点不属于任何类”。 如果我将IntelliJ配置为使用外部tomcat服务器,那么jsp调试

  • 我有一个用IntelliJ Idea开发的JavaEE webapp项目(名为ProjectA),它有一个应用war插件的build.gradle文件: 我想调试(或运行)gradle生成的war文件,而不是调试自动生成的intellij工件。这对我来说非常重要,我可以更新在调试过程中更改的类,而不需要重新启动服务器。 我该怎么做呢? 2)此外,还有一些分级任务(clean,build,war等)

  • 我对整个Java生态系统还是个新手,我已经花了几个小时的时间来获得一个外部依赖者来与Intellij一起工作。我使用一个简单的Java应用程序,它包含一个,其中包含: 包含对com.google.guava的依赖项(必需),如下所示: 每当我尝试调试时,都会得到无法加载的错误。我还尝试克隆https://github.com/tfnico/guava-example(将Java版本更新为受支持的版