[爬坑]关于angularJS的controller文件压缩的问题
来源:互联网 发布:数控机床编程实例 编辑:程序博客网 时间:2024/06/02 04:28
前言
独自摸索最大的麻烦就是遇到奇怪的问题,比如我一下午都在爬一个坑,就是angularJS的controller文件用gulp打包压缩后网页上一直报错。期初还以为是angularJS的版本问题,傻逼比地翻墙去下载各种版本的angular.min.js文件,结果一个个试过去还是没把问题解决。最后还是无意中发现controller文件未打包前没有报错,而打包后就报“Unknown provider: eProvider <- e”错误,恍然大悟!
解决办法
方法一
controller一般书写时按照简写的格式:
angular.module("MyMod").controller("MyCtrl", function($scope, $timeout) { });
但是压缩js会破快AngularJS文件所需的依赖注入,以至于无法工作,因此压缩前你需要将代码手动修改为下面的形式:
angular.module("MyMod").controller("MyCtrl", ["$scope", "$timeout", function($scope,$timeout) { }]);
方法二
简单介绍下ng-annotate这个项目,它会自动帮你做这件事^_^,这个项目正好提供了gulp的插件。
gulp配置文件:
var gulp = require('gulp'); var ngAnnotate = require('gulp-ng-annotate'); var gutil = require('gulp-util'); var bower = require('bower'); var uglify = require('gulp-uglify'); var concat = require('gulp-concat'); var minifyCss = require('gulp-minify-css'); var rename = require('gulp-rename'); var sh = require('shelljs'); var ngmin = require('gulp-ngmin'); //没错,就是她了。别忘了先用npm下载到node_modules目录然后添加到package.json里var stripDebug = require('gulp-strip-debug'); gulp.task('minify', function() { return gulp.src(['js/appService.js','js/app.js']) //注意,此处特意如此,避免顺序导致的问题 .pipe(ngAnnotate()) .pipe(ngmin({dynamic: false})) .pipe(stripDebug()) .pipe(uglify({outSourceMap: false})) .pipe(concat('all.min.js')) .pipe(gulp.dest('js/')) });
@参考 小刀 《使用gulp压缩合并AngularJS项目中js》
3 0
- [爬坑]关于angularJS的controller文件压缩的问题
- AngularJs controller出错的问题
- 关于AngularJS controller之间的数据通信
- 7、AngularJs的压缩问题
- AngularJs的controller 多次执行问题
- (十六)JQuery Ready和angularJS controller的执行顺序问题
- angularjs controller之间的通信
- angularjs Controller之间的通信
- AngularJS Controller的作用域
- angularjs Controller之间的通信
- 关于java中压缩与解压缩文件的问题
- 关于java Controller中传值的问题
- 关于文件压缩的代码
- 关于字符串的压缩问题
- angularjs 的controller的三种写法
- angularJS 的controller(控制器)的应用
- angularjs中关于checkbox的问题
- 关于AngularJs的ng-repeat问题
- HTTP请求和响应格式详细解析
- Nginx入门教程
- 输入子系统
- Linux Shell 命令学习一
- JavaWeb学习总结
- [爬坑]关于angularJS的controller文件压缩的问题
- android资源管理和使用资源 (2015.12.1)
- 12.1工作日志
- 网络层—IP地址的三种分类方式
- Cstring类,left(),right(),mid()
- 并查集
- kvm libvirt mem 热添加
- 理解百度云推送的几个概念
- apach2 pil 生成图片验证码高度不够