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

How to minimize javascript files using grunt in mvvm framework using knockout js?

本文关键字:最小化 js grunt 文件 javascript 框架 mvvm      更新时间:2023-09-26

我正在使用敲除js开发mvvm框架。使用AMD的require-js。我不想删除require-js配置。有人能帮助使用grunt-js和require-js最小化javascript文件吗?

这应该适用于

 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'
            }
        }
    }

通过grant,您可以使用插件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中。以下步骤将放大/缩小文件app.js

在这里,您可以找到关于uglify选项的概述