grunt-bowercopy 2个人档案dev和prod

时间:2015-04-19 16:45:31

标签: gruntjs bower minify

在Grunt的bowercopy任务上有2个“配置文件”的最佳方法是什么,一个用于开发,另一个用于生产?

在开发方面,我希望复制所有非缩小版本,并在制作时复制缩小版本。

我尝试使用grunt.option以某种方式创建一个后缀(min.js或.js),但是在没有多次重复的情况下无法找到一种方法。

在这个阶段,我不想要使用uglify,因为文件已经作为bower_components存在。

我也不想使用地图,因为它是一个ripple-cordova应用程序,我不想将不需要的文件复制到构建

我对“咕噜咕噜的世界”有点新意,我认为可能有一种简单的方法。

由于

1 个答案:

答案 0 :(得分:1)

请参阅以下grunt文件。

module.exports = function(grunt) {


    grunt.initConfig({
        bowercopy: 
        {
            options: 
            {
                // Task-specific options go here
                runBower : false
                ,nonull: true
            },
             development: 
             {
                options: {
                    destPrefix: "www"
                },
                files: {
                    // Keys are destinations (prefixed with `options.destPrefix`)
                    // Values are sources (prefixed with `options.srcPrefix`); One source per destination
                    // e.g. 'bower_components/chai/lib/chai.js' will be copied to 'test/js/libs/chai.js'
                    '/Scripts/thirdParty/jquery.js': 'jquery/dist/jquery.js'
                }
            },
             production: 
             {
                options: {
                    destPrefix: "www"
                },
                files: {
                    '/Scripts/thirdParty/jquery.js': 'jquery/dist/jquery.min.js',
                 }


               }    

    }

    });


grunt.loadNpmTasks('grunt-bowercopy');



grunt.registerTask('buildDevelopment', ['bowercopy:development']);

grunt.registerTask('buildProduction', ['bowercopy:production']);

grunt.registerTask('default', ['buildDevelopment']);


}

继续跑步。

$ grunt
Running "bowercopy:development" (bowercopy) task
bower_components/jquery/dist/jquery.js -> www/Scripts/thirdParty/jquery.js

Done, without errors.

$ grunt buildProduction
Running "bowercopy:production" (bowercopy) task
bower_components/jquery/dist/jquery.min.js -> www/Scripts/thirdParty/jquery.js

Done, without errors.