Skip to content

Instantly share code, notes, and snippets.

@mitsuruog
Last active January 1, 2016 05:19
Show Gist options
  • Save mitsuruog/8098078 to your computer and use it in GitHub Desktop.
Save mitsuruog/8098078 to your computer and use it in GitHub Desktop.
Yeomanに学ぶモテるGruntfile.jsの書き方
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
uglify: {
options: {
banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n'
},
dist: {
src: 'src/<%= pkg.name %>.js',
dest: 'dist/<%= pkg.name %>.min.js'
}
}
});
/**
* before
*/
grunt.loadNpmTasks('grunt-shell');
grunt.loadNpmTasks('grunt-sass');
grunt.loadNpmTasks('grunt-recess');
grunt.loadNpmTasks('grunt-sizediff');
grunt.loadNpmTasks('grunt-svgmin');
grunt.loadNpmTasks('grunt-styl');
grunt.loadNpmTasks('grunt-php');
grunt.loadNpmTasks('grunt-eslint');
grunt.loadNpmTasks('grunt-concurrent');
grunt.loadNpmTasks('grunt-bower-requirejs');
/**
* after
*/
require('load-grunt-tasks')(grunt);
// 普通はこんな感じ
grunt.registerTask('serve', [
'clean:server',
'concurrent:server',
'autoprefixer',
'connect:livereload',
'watch'
]);
// grunt serve:distと呼ぶことタスクの中で分岐ができる
grunt.registerTask('serve', function (target) {
if (target === 'dist') {
return grunt.task.run(['build', 'connect:dist:keepalive']);
}
grunt.task.run([
'clean:server',
'concurrent:server',
'autoprefixer',
'connect:livereload',
'watch'
]);
});
grunt.initConfig({
yeoman: {
// Configurable paths
app: 'app',
dist: 'dist'
},
copy: {
dist: {
files: [{
expand: true,
dot: true,
cwd: '<%= yeoman.app %>', // <- ここ
dest: '<%= yeoman.dist %>', // <- ここ
src: [
'*.{ico,png,txt}'
]
}]
}
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment