ger*_*lus 6 angularjs gruntjs grunt-usemin
目前我有几个html文件,如下所示:
<!-- build:js({.tmp,app}) scripts/moduleX-scripts.js -->
<script src="scripts/moduleX/moduleXConfig.js"></script>
<script src="scripts/moduleX/featureX/controller.js"></script>
<script src="scripts/moduleX/featureX/service.js"></script>
<script src="scripts/moduleX/featureY/controller.js"></script>
<script src="scripts/moduleX/featureY/service.js"></script>
<!-- endbuild -->
<!-- build:js({.tmp,app}) scripts/moduleY-scripts.js -->
<script src="scripts/moduleY/moduleYConfig.js"></script>
<script src="scripts/moduleY/featureW/controller.js"></script>
<script src="scripts/moduleY/featureW/service.js"></script>
<script src="scripts/moduleY/featureZ/controller.js"></script>
<script src="scripts/moduleY/featureZ/service.js"></script>
<!-- endbuild -->
Run Code Online (Sandbox Code Playgroud)
由于这是一个角度应用程序,我想使用ocLazyLoad来管理我的模块,所以我的配置看起来像这样:
angular.module('MyMainModule', [
{
name: 'moduleX',
files: [
'scripts/moduleX/moduleXConfig.js',
'scripts/moduleX/featureX/controller.js',
'scripts/moduleX/featureX/service.js',
'scripts/moduleX/featureY/controller.js',
'scripts/moduleX/featureY/service.js',
]
},
{
name: 'moduleY',
files: [
'scripts/moduleY/moduleYConfig.js',
'scripts/moduleY/featureW/controller.js',
'scripts/moduleY/featureW/service.js',
'scripts/moduleY/featureZ/controller.js',
'scripts/moduleY/featureZ/service.js',
]
}
])
Run Code Online (Sandbox Code Playgroud)
是否有任何grunt插件可以处理这个.js文件并files用缩小和修订版本替换该数组?
您可以用来grunt-contrib-uglifyjs缩小文件。
grunt.initConfig({
uglify: {
moduleX: {
files: {
'scripts/moduleX.min.js': ['scripts/moduleX/*.js']
}
},
moduleY: {
files: {
'scripts/moduleY.min.js': ['scripts/moduleY/*.js']
}
}
}
});
Run Code Online (Sandbox Code Playgroud)
您需要进行的唯一更改是在模块目录中包含一个声明模块的文件。例如,在该scripts/moduleX目录中,您将有以下文件:
// scripts/modeulX.js
angular.module('moduleX', []);
Run Code Online (Sandbox Code Playgroud)