Javascript 使用Grunt的初学者需要一些关于我的GrunFile.js的建议
我刚开始建立自己的grunt,这就是我想到的。我只是想知道是否有人可以看一下,给我一些提示/建议Javascript 使用Grunt的初学者需要一些关于我的GrunFile.js的建议,javascript,coffeescript,gruntjs,livereload,Javascript,Coffeescript,Gruntjs,Livereload,我刚开始建立自己的grunt,这就是我想到的。我只是想知道是否有人可以看一下,给我一些提示/建议 module.exports = function (grunt) { grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), coffee: { compile: { expand: true, flatt
module.exports = function (grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
coffee: {
compile: {
expand: true,
flatten: true,
cwd: 'src/coffee',
src: ['*.coffee'],
dest: 'src/js/',
ext: '.js'
}
},
concat: {
css: {
src: [
'src/css/*'
],
dest: 'css/.css'
},
js: {
src: [
'src/js/*'
],
dest: 'js/package.js'
}
},
cssmin: {
css: {
src: 'css/package.css',
dest: 'css/package.min.css'
}
},
uglify: {
js: {
files: {
'js/package.min.js': ['js/package.js']
}
}
},
watch: {
aspx: {
files: ['*.aspx', '*.master']
},
css: {
files: ['src/css/*'],
tasks: ['concat:css', 'cssmin']
},
coffee: {
files: ['src/coffee/*'],
tasks: ['coffee:compile']
},
js: {
files: ['src/js/*'],
tasks: ['concat:js', 'uglify']
},
livereload: {
files: ['*.aspx', '*.master', 'css/*.css', 'js/*.js'],
options: { nospawn: true, livereload: true }
}
}
});
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-coffee');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.registerTask('default', ['coffee:compile','concat:css', 'cssmin:css', 'concat:js', 'uglify:js', 'watch']);
};
它确实可以工作,并且可以完美地重新加载和编译。我只是想知道是否有更有效的方法来处理这个问题。作为我的第一个gruntfile,我知道它还远远不够完美。为了降低主gruntfile.js的复杂性,我推荐它。它的使用非常简单。它允许您将Gruntfile.js拆分为若干较小的js文件,这些文件存储在单独的Grunt文件夹中,例如:
/root
/Grunt
cssmin.js
coffee.js
watch.js
...
module.exports = function (grunt) {
require('load-grunt-tasks')(grunt);
}
然后,要加载到任务中的主Gruntfile.js很简单,例如:
/root
/Grunt
cssmin.js
coffee.js
watch.js
...
module.exports = function (grunt) {
require('load-grunt-tasks')(grunt);
}
它与名为alias.YAML
的YAML文件一起保存在Grunt文件夹中,该文件夹详细介绍了Grunt命令及其相关过程。因此,在YAML文件中使用以下内容:
lint:
- clear
- jshint
- jscs
您可以运行grunt lint
,它将运行这些任务
我发现它a)是一个完全的救星,b)帮助我在一个完全不同的层面上理解了Grunt
。我希望这能有所帮助