2014-04-02 46 views
1

我有一个咕噜的任务,用于连接& minify文件。它使用usemin软件包,并且尽可能创建一个.tmp文件夹,其中包含所有文件,但缺少创建dist文件夹并将脚本移入其中的问题。不知道我在脚本中缺少什么来在运行时创建'dis'文件夹。任何援助表示赞赏。执行时不会创建dist文件夹的咕噜任务

'use strict'; 
var mountFolder = function (connect, dir) { 
return connect.static(require('path').resolve(dir)); 
}; 

module.exports = function (grunt) { 

require('matchdep').filterDev('grunt-*').forEach(grunt.loadNpmTasks); 

var projectConfig = { 
    app: ['./'], 
    dist: 'dist' 
}; 

grunt.log.write(projectConfig.app); 

grunt.initConfig({ 
    project: projectConfig, 

    clean: { 
     dist: { 
      files: [{ 
       dot: true, 
       src: [ 
        '.tmp', 
        '<%= project.dist %>/*', 
        '!<%= project.dist %>/.git*' 
       ] 
      }] 
     }, 
    }, 

    useminPrepare: { 
     html: '<%= project.app %>/app.html', 
     options: { 
      dest: '<%= project.dist %>', 
      uglify: 'uglify' 
     } 
    }, 

    usemin: { 
     html: '<%= project.app %>/app.html', 
     css: ['<%= project.dist %>/**/*.css'], 
     options: { 
      dest: '<%= project.dist %>', 
      assetDirs: '.tmp', 
      basedir: '<%= project.app %>' 
     } 
    }, 
    copy: { 
     dist: { 
      files: [{ 
       expand: true, 
       dot: true, 
       cwd: '<%= project.dist %>', 
       dest: '<%= project.dist %>', 
       src: [ 
        '*.{ico,txt,png}', 
        '.htaccess', 
        'lib*//***/*//*', 
        'img/{,*//*}*.{gif,webp}', 
        //'partials*//***/*//*', 
        'css/png*//***/*//*' 
       ] 
      }] 
     } 
    }, 

}); 

grunt.registerTask('default', [ 
    'clean:dist', 
    'useminPrepare', 
    'concat', 
    'usemin' 

]); 

};

回答

0

在您的copy:dist设置中,您的cwd设置为与您的目标目录相同。

更改为:

cwd: '<%= yeoman.app %>', 
dest: '<%= yeoman.dist %>', 

但问题是,那么你定义:

var projectConfig = { 
    app: ['./'], 
    dist: 'dist' 
}; 

,我本来期望看到app有比['./']其它而是像'app'值。如果您在不改变目录结构的情况下进行第一次修改,您将以app作为一个长度为1的项目根目录的数组结尾,其中包括dist试图复制到dist,除非我错过了关于您的其他内容结构体。

+0

嗨贾森,我改变了副本:dist功能使用主要的应用程序文件夹。我仍然遇到同样的问题。我试图将文件上移一个级别,并且我也遇到同样的问题。还有什么我可以尝试吗? – user686483

+0

我不得不猜测你的目录结构,你可以总结一下你有什么文件吗? –

+0

看起来我需要自定义任务。都好。当我完成后,我一定会发布我的代码。 – user686483