如何使用敲除js在mvvm框架中使用grunt最小化javascript文件?

时间:2014-10-09 08:47:08

标签: javascript

我正在使用knockout js处理mvvm框架。使用AMD的需要js。我不想删除require js配置。有没有人可以使用grunt js和require js帮助最小化javascript文件?

2 个答案:

答案 0 :(得分:0)

这应该对你有用

 requirejs: {
        compile: {
            options: {
                out: 'js/app.js',
                optimize: 'none',
                baseUrl: 'static/js',
                uglify2: {
                    output: {
                        'beautify': false
                    }
                },
                paths: {},// same as mentioned in build file of require js ,
                skipModuleInsertion: true,
                inlineText: true,
                name: 'app'
            }
        }
    }

答案 1 :(得分:0)

使用授权,您可以使用插件grunt-contrib-concatgrunt-contrib-uglify。只需在package.json中添加相关性,然后再次运行npm install

下面你可以找到一个简单的grunt文件示例:

module.exports = function (grunt) {

  grunt.loadNpmTasks('grunt-contrib-concat');
  grunt.loadNpmTasks('grunt-contrib-uglify');

  grunt.initConfig({
                    concat: {
                        requirejs: {
                            src:['vendor/knockout/knockout.js', 'vendor/jquery/jquery.js'],
                            dest: 'dist/js/app.js'
                        }
                    },
                    uglify: {
                        requirejs: {
                            src:  'dist/js/app.js',
                            dest: 'dist/js/app.js'
                        }
                    },
                }
            );

            grunt.registerTask('build-requirejs', ['concat:requirejs', 'uglify:requirejs']);        
}

在第一步,任务build-requirejs将连接两个js文件knockout.jsjquery.js,并将结果存储在文件app.js中。以下步骤将uglify / minify文件app.js

Here您可以找到有关uglify选项的概述