【问题标题】:How to minify angular.js?如何缩小 angular.js?
【发布时间】:2016-09-07 09:29:06
【问题描述】:

有个问题,我想缩小angular.js,不是我个人的代码而是angular库文件--angular.js, 我使用 gulp-uglify 来缩小它,这里是 gulp 代码:

gulp.task('angularjsmin', function () {
gulp.src(['lib/angular/angular.js']) 
    .pipe(uglify())
    .pipe(contact("angular.min.js"))
    .pipe(gulp.dest('dist/lib/angular'));

});

它在现代浏览器中工作,但在 IE8 中未使用。 angular版本是1.2.29,支持IE8, 但是我缩小的文件“angular.min.js”不支持IE8,在IE8中使用时,浏览器告诉我“缺少标识”和“角度未定义”。还有其他方法可以缩小 angular.js 吗?我该如何解决这个问题?感谢您的帮助。

【问题讨论】:

标签: javascript angularjs internet-explorer-8 gulp gulp-uglify


【解决方案1】:

使用 CDN 来交付常见的库,如 angular 或 jquery,您将避免自己构建可能令人头疼的问题。如果您没有这样做的具体原因和优势,CDN 是不错的选择。

一些主要的库在 CDN 上免费托管在 Google 提供的非常可靠的服务器上:

https://developers.google.com/speed/libraries/

您可以简单地将库包含在代码中:

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.7/angular.min.js"></script>

CDN 的主要优势在于提高了将内容交付给用户的速度。

一些优点是:

  • 降低服务器负载。
  • 服务器上的并发用户增加。
  • 地理位置。
  • 用户可能已经下载了库(之前缓存在浏览器中)。

但是,如果您真的想构建自己,请尝试阅读以下教程: https://docs.angularjs.org/misc/contribute

【讨论】:

  • 我必须自己缩小它,因为我已经修改了源代码。
  • 我修改了时间选择器,它使用的是英文,我把它改成了中文。
  • 我使用 Closure Compiler 来缩小 angular.js,它在 IE8 中工作,太棒了!能否请您告诉它为什么有效以及为什么 gulp-uglify 缩小的文件无效?
  • 阅读这篇文章你需要 grunt / bower 和 npm docs.angularjs.org/misc/contribute#building-angularjs
  • 我已经接受了你的回答,谢谢。而且我没有使用 grunt / bower 和 npm,我使用 gulp 来构建我的项目,我只想缩小 angular.js。我在你的帮助下成功了。现在,你能告诉我 gulp-uglify 和 Closure Compiler 的区别,为什么 Closure Compiler 缩小的 angular.min.js 可以在 IE8 中使用?
猜你喜欢
  • 2013-09-23
  • 2021-07-20
  • 2017-01-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多