为什么 Grunt 在 Uglifying 时忽略 jQuery?
Why is Grunt ignoring jQuery when Uglifying?
我不明白为什么 jQuery 在 运行 我的 Grunt 任务时被忽略了。这是它的样子:
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部分有问题。
我觉得你的语法不对,请试试这个:
uglify: {
development: {
options: {
preserveComments: false
},
files: {
'app/build/js/app.min.js': 'app/build/js/app.js'
}
}
并将其命名为:grunt.registerTask('default', ['concat', 'uglify:development']);
不确定这是否有帮助,或者两者之间是否有任何区别,但您可以尝试设置您的 uglify 配置,类似于您的 concat 配置...例如:
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 如果仅此而已,应该包括在内。在包含的站点上进行测试,以确保它不只是隐藏在丑化代码中的某个地方。
我不明白为什么 jQuery 在 运行 我的 Grunt 任务时被忽略了。这是它的样子:
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部分有问题。
我觉得你的语法不对,请试试这个:
uglify: {
development: {
options: {
preserveComments: false
},
files: {
'app/build/js/app.min.js': 'app/build/js/app.js'
}
}
并将其命名为:grunt.registerTask('default', ['concat', 'uglify:development']);
不确定这是否有帮助,或者两者之间是否有任何区别,但您可以尝试设置您的 uglify 配置,类似于您的 concat 配置...例如:
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 如果仅此而已,应该包括在内。在包含的站点上进行测试,以确保它不只是隐藏在丑化代码中的某个地方。