Javascript 为什么Grunt在丑化时忽略jQuery?

Javascript 为什么Grunt在丑化时忽略jQuery?,javascript,gruntjs,grunt-contrib-uglify,Javascript,Gruntjs,Grunt Contrib Uglify,我不明白为什么在运行Grunt任务时忽略jQuery。下面是它的外观: module.exports = function (grunt) { // Configuration grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), // Concat concat: { js: { src: [

我不明白为什么在运行Grunt任务时忽略jQuery。下面是它的外观:

module.exports = function (grunt) {
    // Configuration
    grunt.initConfig({
        pkg: grunt.file.readJSON('package.json'),
        // Concat
        concat: {
            js: {
                src: [
                    'js/vendor/jquery.js',
                    'js/app/graph.js',
                ],
                dest: 'app/build/js/app.js'
            }
        },
        // Uglify
        uglify: {
            options: {
                preserveComments: false
            },
            my_target: {
                files: {
                    'app/build/js/app.min.js': [
                            'app/build/js/app.js'
                        ]
                }
            }
        });
};

当我检查
app.js
时,jQuery是它的一部分,但不在
app.min.js
中。因此,我怀疑丑陋部分有问题。

我认为您的语法不正确,请尝试以下方法:

    uglify: {
        development: {
            options: {
                preserveComments: false
            },
            files: {
                'app/build/js/app.min.js': 'app/build/js/app.js'
            }
    }

并将其命名为:
grunt.registerTask('default',['concat','uglify:development'])

不确定这是否会有帮助,或者两者之间是否有任何区别,但您可以尝试设置类似于concat配置的丑陋配置。。。e、 g:

module.exports = function (grunt) {
    // Configuration
    grunt.initConfig({
        pkg: grunt.file.readJSON('package.json'),
        // Concat
        concat: {
            js: {
                src: [
                    'js/vendor/jquery.js',
                    'js/app/graph.js',
                ],
                dest: 'app/build/js/app.js'
            }
        },
        // Uglify
        uglify: {
            options: {
                preserveComments: false
            },
            js: {
                src: ['app/build/js/app.js'],
                dest: ['app/build/js/app.min.js']
            }
        }
    });
};

另外,我认为您缺少了一个额外的括号

github.com/gruntjs/grunt-contrib-clean这并不是严格必要的,如果您只需要jQuery,那么就应该包括它。在包含的站点上进行测试,以确保它不只是隐藏在丑陋代码的某个地方。

在构建之前您是否尝试过清理?另外,您是否有一个任务可以按顺序运行这些任务,确保concat在uglify之前运行?是的,concat在uglify之前运行<代码>grunt.registerTask('default',['concat','uglify'])。我怎么打扫?严格来说,这不是必需的,如果只有jQuery,那么就应该包括jQuery。在包含的站点上做一个测试,以确保它不仅仅隐藏在丑陋的代码中。这对我很有用,谢谢。我现在明白了。不幸的是,这对我不起作用。顺便说一句,我认为你在最后一行的第二行中缺少了
}
。不幸的是,这对我来说不起作用,但我更喜欢这种风格。