1

一、总结

我无法设置grunt-clean-console插件,它适用于我的所有.html文件。


2. 细节

grunt-clean-console 检查.html文件的浏览器控制台错误。

我想检查.html我网站上所有文件的浏览器控制台错误。在我阅读的官方描述中,插件如何针对特定的url键值工作。我的网站上有很多页面;我不想.html单独添加每个文件。但我找不到,我如何使用模式。

我发现,我可以使用内置 Grunt cwdsrcdest键的模式。url但是,从这个插件开始,我如何使用 glob(或其他)模式作为自定义键?


3. 数据

  • Gruntfile.coffee

    module.exports = (grunt) ->
    
        grunt.loadNpmTasks 'grunt-clean-console'
    
        grunt.initConfig
            'clean-console':
                all:
                    options:
                        url: 'output/index.html'
        return
    
  • 示例项目配置:

    output
    │   404.html
    │   index.html
    │
    ├───KiraFirstFolder
    │       KiraFirstfile.html
    │
    └───KiraSecondFolder
            KiraSecondFile.html
    
  • 如果我像上面的示例那样为没有模式的键设置特定值url,则 grunt-clean-console 成功工作:

    phantomjs: opening page output/index.html
    
    phantomjs: Checking errors after sleeping for 5000ms
    ok output/index.html
    
    phantomjs process exited with code 0
    
    Done.
    

3.1。重现步骤

我在控制台中运行:

grunt clean-console --verbose

4.没有帮助

4.1。通配符

  • 官方文档

  • Gruntfile.coffee

    module.exports = (grunt) ->
    
        grunt.loadNpmTasks 'grunt-clean-console'
    
        grunt.initConfig
            'clean-console':
                all:
                    options:
                        url: 'output/**/*.html'
        return
    
  • 输出:

    phantomjs: opening page http://output/**/*.html
    
    phantomjs: Unable to load resource (#1URL:http://output/**/*.html)
    
    
    phantomjs:   phantomjs://code/runner.js:30 in onResourceError
    Error code: 3. Description: Host output not found
    
      phantomjs://code/runner.js:31 in onResourceError
    
    phantomjs: loading page http://output/**/*.html status fail
    
      phantomjs://code/runner.js:50
    
    phantomjs process exited with code 1
    url output/**/*.html has 1 error(s)
    >> one of the urls failed clean-console check
    Warning: Task "clean-console:all" failed. Use --force to continue.
    
    Aborted due to warnings.
    

4.2. 动态构建对象

  • 官方文档

  • Gruntfile.coffee(例子):

    module.exports = (grunt) ->
    
        grunt.loadNpmTasks 'grunt-clean-console'
    
        grunt.initConfig
            'clean-console':
                all:
                    options:
                        url:
                            files: [
                                expand: true
                                cwd: "output/"
                                src: ['**/*.html']
                                dest: "output/"
                            ]
        return
    
  • 输出:

    File: [no files]
    Options: urls=[], timeout=5, url=["output/**/*.html"]
    
    Fatal error: missing url
    

4.3. 模板

  • 官方文档

  • Gruntfile.coffee

    module.exports = (grunt) ->
    
        grunt.loadNpmTasks 'grunt-clean-console'
    
        grunt.initConfig
            'clean-console':
                all:
                    options:
                        url: '<%= kiratemplate %>'
            kiratemplate: ['output/**/*.html'],
        return
    
  • 输出:

    phantomjs: opening page http://output/**/*.html
    
    phantomjs: Unable to load resource (#1URL:http://output/**/*.html)
    
    
    phantomjs:   phantomjs://code/runner.js:30 in onResourceError
    Error code: 3. Description: Host output not found
    
      phantomjs://code/runner.js:31 in onResourceError
    loading page http://output/**/*.html status fail
    
      phantomjs://code/runner.js:50
    
    phantomjs process exited with code 1
    url output/**/*.html has 1 error(s)
    >> one of the urls failed clean-console check
    Warning: Task "clean-console:all" failed. Use --force to continue.
    
    Aborted due to warnings.
    
4

1 回答 1

1

grunt.initConfig在使用的部分之前创建一个函数grunt.file.expand。例如:

Gruntfile.js

module.exports = function(grunt) {

  grunt.loadNpmTasks 'grunt-clean-console'

  // Add this function...
  function getFiles() { return grunt.file.expand('output/**/*.html'); }

  grunt.initConfig({
    'clean-console': {
      all: {
        options: {
          url: getFiles() // <-- invoke the function here.
        }
      }
    }
    // ...
  });

  // ...
}

笔记:

  • getFiles函数返回与给定 glob 模式匹配的所有文件的文件路径数组.html,即'output/**/*.html'.
  • options.url属性的值设置getFiles()为调用该函数。
于 2019-02-06T10:17:15.590 回答