Javascript 为什么Grunt在丑化时忽略jQuery?
我不明白为什么在运行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: [
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。在包含的站点上做一个测试,以确保它不仅仅隐藏在丑陋的代码中。这对我很有用,谢谢。我现在明白了。不幸的是,这对我不起作用。顺便说一句,我认为你在最后一行的第二行中缺少了}
。不幸的是,这对我来说不起作用,但我更喜欢这种风格。