我使用以下yeoman生成器创建了一个bootstrap-compass项目:
https://www.npmjs.com/package/generator-bootstrap-compass
您可以在链接中看到文件结构。
如何正确地将javascripts添加到此gruntfile?
gruntfile.js看起来像这样:
module.exports = function(grunt) {
// Project configuration.
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
config: {
app: 'app'
},
connect: {
options: {
port: 9000,
livereload: 35729,
// Change this to '0.0.0.0' to access the server from outside
hostname: 'localhost'
},
livereload: {
options: {
open: true,
base: [
'.tmp',
'<%= config.app %>/public'
]
}
},
},
watch: {
options: {
livereload: true,
},
livereload: {
options: {
livereload: '<%= connect.options.livereload %>'
},
files: [
'<%= config.app %>/public/{,*/}*.html',
'<%= config.app %>/public/css/{,*/}*.css',
'<%= config.app %>/public/images/{,*/}*'
]
},
compass: {
files: ['**/*.{scss,sass}'],
tasks: ['compass:dev']
},
},
compass: {
dev: {
options: {
sassDir: ['app/src/stylesheets'],
cssDir: ['app/public/css'],
environment: 'development'
}
},
prod: {
options: {
sassDir: ['app/src/stylesheets'],
cssDir: ['app/public/css'],
environment: 'production'
}
},
}
});
// Load the plugin
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-compass');
grunt.loadNpmTasks('grunt-contrib-connect');
// Default task(s).
grunt.registerTask('default', ['connect:livereload', 'compass:dev', 'watch']);
// prod build
grunt.registerTask('prod', ['compass:prod']);
};
修改
解决方案:
我刚刚将grunt-contrib-uglify和以下代码添加到我的gruntfile.js中以压缩我项目中的任何js代码:
uglify: {
all: {
files: {
'<%= config.app %>/public/js/bootstrap.min.js': ['<%= config.app %>/src/javascripts/bootstrap.js']
}
},
}
答案 0 :(得分:0)
有一个非常简短有趣的视频,解释了Grunt的工作原理https://www.youtube.com/watch?v=TMKj0BxzVgw。 但如果您现在无法观看,请阅读此http://gruntjs.com/creating-tasks
我希望我有所帮助。