我有一个 AngularJS 应用程序,它是在没有 yeo、grunt、bower 等的情况下构建的。目前这是通过 Rails 完成的。但是由于某些问题,我们正在将 AngularJS 应用程序与 Rails 分开,并将 Rails 纯粹用作 API。
- 如何将 grunt 集成到现有应用程序中?这是否可能。
- 坑坑洼洼?
根据应用程序的当前架构,控制器、服务、模板、过滤器、指令都在单独的文件夹中。
- 实现 grunt 是否需要任何特定的文件夹结构?
需要做的基本事情:
- 将源文件压缩为一个(控制器为 1 个控制器等)
- 缩小
当前的 grunt 文件
module.exports = function(grunt) {
require('load-grunt-tasks')(grunt);
grunt.initConfig({
pkg: grunt.file.readJSON("package.json"),
clean: ['js/dist/**/*.js'],
concat: {
controllers: {
src: ['js/controllers/*.js'],
dest: 'js/dist/controller.js'
},
models: {
src: ['js/services/*.js'],
dest: 'js/dist/service.js'
}
},
uglify: {
options: {
mangle: false
},
my_target: {
files: {
'js/dist/controller.min.js': ['js/dist/controller.js'],
'js/dist/service.min.js': ['js/dist/service.js'],
'js/dist/filters.min.js': ['js/filters/filters.js'],
'js/dist/directives.min.js': ['js/directives/custom.js'],
'js/dist/app.min.js': ['js/app.js']
}
}
},
imagemin: {
dynamic: {
files: [{
expand: true,
cwd: 'assets/images/',
src: ['**/*.{png,jpg,gif}'],
dest: 'assets/images/'
}]
}
}
});
grunt.registerTask('default', ['clean','concat','uglify']);
};
我该如何开始?抱歉,如果这看起来很明显,但这将是第一次使用 grunt,因此希望得到适当的建议。