2014-01-07 24 views
1

我試圖通過一個目錄來運行美化,並在彙編創建文件後將這些html文件美化成相同的目錄。當運行默認任務一起,美化拋出一個錯誤:運行Grunt中的組裝和美化

Running "prettify:indent" (prettify) task 
Warning: Object 2 has no method 'indexOf' Use --force to continue 

隨後,當我運行的每個任務單獨一切正常:

$ grunt assemble; grunt prettify 

這裏是我的Gruntfile:

site: grunt.file.readYAML('src/template/data/site.yml'), 
assemble: { 
    options: { 
    prettify: {indent: 2}, 
    marked: {sanitize: false}, 
    data: "src/template/data/site.yml", 
    layoutdir: 'src/template/layouts', 
    }, 
    all: { 
    options: {production: false,layout: 'default.hbs'}, 
    files: [ 
     { expand: true, cwd: 'src/template/pages', src: ['**/*.hbs'], dest: 'dist/' } 
    ] 
    } 
}, 

prettify: { 
    options: { 
    indent: 4, 
    wrap_line_length: 78, 
    brace_style: 'expand', 
    }, 
    all: { 
    expand: true, 
    cwd: 'dist/', 
    ext: '.html', 
    src: ['*.html'], 
    dest: 'dist/' 
    } 
} 

有人能指引我朝着正確的方向嗎?可以將輸出美化到同一個源目錄中?

回答

2

刪除prettify: {indent: 2} from彙編選項。

assemble: { 
    options: { 
    marked: {sanitize: false}, 
    data: "src/template/data/site.yml", 
    layoutdir: 'src/template/layouts', 
    }, 
    all: { 
    options: {production: false,layout: 'default.hbs'}, 
    files: [ 
     { expand: true, cwd: 'src/template/pages', src: ['**/*.hbs'], dest: 'dist/' } 
    ] 
    } 
}, 

您已經指定自定義選項prettify任務

prettify: { 
    options: { 
    indent: 4, 
    wrap_line_length: 78, 
    brace_style: 'expand', 
    }, 
    // Specify a number to padcomments 
    all: { 
    files: [ 
     {expand: true, cwd: 'dist/', src: ['*.html'], dest: 'dist/', ext: '.html'} 
    ] 
    } 
}, 

指定prettify: {indent: 2}在裝配選項的含義咕嚕將尋找任務prettify:indent與未在Gruntfile存在選項src: 2dest: indent

+0

好抓!我沒有馬上注意到! – jonschlinkert

+0

謝謝你的收穫! – GrumpyKitten