gpt4 book ai didi

gruntjs - Gruntfile.js 动态构建文件对象

转载 作者:行者123 更新时间:2023-12-04 19:08:20 27 4
gpt4 key购买 nike

问题 :在 Grunt 项目的“配置任务”页面上,为任务指定文件的“文件对象格式”方式有效,而“文件数组格式”和关键的“动态构建文件对象”方式(请参阅“dynamic_mappings”部分)没有。

问题 :为什么列表 #2 不起作用? Grunt 页面上的动态文件构建示例是错误的吗?

引用 :Grunt 项目页面 Configuring Tasks / Building the Files Object Dynamically .

底部是 Gruntfile.js 的两个列表。第一个不起作用,而第二个起作用。它们之间的唯一区别在于每个如何指定"file"任务:

files: [{
expand: true,
cwd: 'views/',
src: ['**/*.jade'],
dest: 'html/',
ext: 'html',
}],

......有效的内容如下:
files: {
expand: true,
cwd: 'views/',
src: ['**/*.jade'],
dest: 'html/',
ext: 'html',
},

只有区别在于“[”和“]”的存在/不存在。

第二个 list 不起作用,但确实遵循 Grunt 项目页面 Configuring Tasks / Building the Files Object Dynamically 上的示例。 .

list #1(不起作用) :
中止“警告:对象# 没有方法‘indexOf’,请使用 --force 继续。”
module.exports = function(grunt) {

grunt.initConfig({

jade: {
options: { pretty: true,
data: {
debug: true,
timestamp: "<%= grunt.template.today() %>"
}
},
files: [{
expand: true,
cwd: 'views/',
src: ['**/*.jade'],
dest: 'html/',
ext: 'html',
}],
},

watch: {
html: {
files: ['handlers/**/*.js', 'views/**/*.jade', 'app.js'],
tasks: ['jade']
}
}
});

grunt.loadNpmTasks('grunt-contrib-jade');
grunt.loadNpmTasks('grunt-contrib-watch');

grunt.registerTask('default', ['jade', 'watch']);

}

list #2(作品) :
module.exports = function(grunt) {

grunt.initConfig({

jade: {
options: { pretty: true,
data: {
debug: true,
timestamp: "<%= grunt.template.today() %>"
}
},
files: {
expand: true,
cwd: 'views/',
src: ['**/*.jade'],
dest: 'html/',
ext: 'html',
},
},

watch: {
html: {
files: ['handlers/**/*.js', 'views/**/*.jade', 'app.js'],
tasks: ['jade']
}
}
});

grunt.loadNpmTasks('grunt-contrib-jade');
grunt.loadNpmTasks('grunt-contrib-watch');

grunt.registerTask('default', ['jade', 'watch']);

}
  • "lucky"= 花了一个周末阅读了数百页关于解析错误、grunt、jade、express、JavaScript、函数和对象......最终决定,既然所有合理的努力都失败了,唯一剩下的就是不合理的尝试。
  • 最佳答案

    答案 (在我发布问题后添加):

    CONFIG (grunt.initConfig) 所需的结构是:

     CONFIG
    TASK
    TARGET
    FILES // MUST be child of a target
    OPTIONS // MUST be child of a target

    所以这不应该工作(但确实......我很幸运*):
     grunt.initConfig
    jade: {
    files: {... // all info content required for jade...
    options: ... // is specified in these two elements

    ......这不应该工作(并且不会......哇!):
     grunt.initConfig
    jade: {
    files: [ {...
    options: ...

    最后,这应该并且确实有效(哈利路亚):
     grunt.initConfig
    jade: {
    foo: { // MUST have target, though no addn'l info added. why? just because.
    files: ...
    options: ...

    关于gruntjs - Gruntfile.js 动态构建文件对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18820575/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com