Javascript 缩小或不更新模板?

Javascript 缩小或不更新模板?,javascript,angularjs,aem,minify,Javascript,Angularjs,Aem,Minify,这是一个很新的角度发展,所以请容忍我。 我碰巧正在使用angular using gulp为AEM 6.2开发组件,通过在gulpfile中执行以下操作来缩小所有组件的js: var uglify = require('gulp-uglify'); var pump = require('pump'); var gp_concat = require('gulp-concat'); var gp_rename = require('gulp-rename'); var gp_ignore = r

这是一个很新的角度发展,所以请容忍我。 我碰巧正在使用angular using gulp为AEM 6.2开发组件,通过在gulpfile中执行以下操作来缩小所有组件的js:

var uglify = require('gulp-uglify');
var pump = require('pump');
var gp_concat = require('gulp-concat');
var gp_rename = require('gulp-rename');
var gp_ignore = require('gulp-ignore');
var gp_htmlmin = require('gulp-htmlmin');
var templates = require('gulp-angular-templatecache');

var paths = require('../paths');
var utils = require('../utils');

var base = [
  paths.APP,
  paths.ETC,
  paths.DESIGN
];

gulp.task('minify', function () {
  var filesToInclude = ['**/app/components/**/*.js '];
  var excludeCondition = '**/*.spec*.js'
  return gulp.src(filesToInclude)
    .pipe(gp_ignore.exclude(excludeCondition))
    .pipe(gp_concat('all.concat.js'))
    .pipe(gulp.dest('dist'))
    .pipe(gp_rename('all.min.js'))
    .pipe(plugins.ngAnnotate())
    .pipe(uglify())
    .pipe(gulp.dest('dist'));
});
现在js的缩小效果非常好。但是,在模板中(即每个组件的html),对控制器的引用没有使用缩小的名称。例如,它仍然使用原始控制器名称,而不是缩小的控制器名称:

<section data-ng-controller="MyController as mc" ng-cloak>
  <div class="mc-name">
    Hi, {{mc.userName}}
  </div>
</section>

你好,{mc.userName}

再一次,我对angular是相当陌生的,所以我不确定模板和控制器是如何以缩微知道如何更新所有引用的方式链接的。有人能帮我弄清楚我遗漏了什么吗?谢谢

不久前,我在AEM6.1中遇到了一个类似的问题,从内存来看,它与小型化IE:YUI压缩机的竞争版本有关。我正在扩展我的记忆,但我相信6.1版本的YUI压缩机已经严重过时了。我记得它是在6.2中更新的,但我仍然怀疑它可能与你的角度缩小相竞争,可能是最新的。基本上,您正在尝试缩小两次,可能是使用不同版本的YUI压缩机

现在,您可以在AEM中关闭缩小,只需运行角度缩小(理论上),但我不建议这样做,因为这意味着任何AEM ClientLib都不会缩小


或者,不要使用angular编译器缩小,让AEM为您进行缩小。我想我当时就是这么做的。虽然我记得在某个时候通过adobe daycare获得了相同的修补程序,所以我不能确定,那是几年前的事了。

我在AEM6.1中也遇到过类似的问题,从记忆中可以看出,它与minification IE:YUI Compressor的竞争版本有关。我正在扩展我的记忆,但我相信6.1版本的YUI压缩机已经严重过时了。我记得它是在6.2中更新的,但我仍然怀疑它可能与你的角度缩小相竞争,可能是最新的。基本上,您正在尝试缩小两次,可能是使用不同版本的YUI压缩机

现在,您可以在AEM中关闭缩小,只需运行角度缩小(理论上),但我不建议这样做,因为这意味着任何AEM ClientLib都不会缩小


或者,不要使用angular编译器缩小,让AEM为您进行缩小。我想我当时就是这么做的。虽然我记得在某个时候通过adobe daycare获得了相同的修补程序,所以我不能确定,那是几年前的事了。

请尝试使用带有vm和injector语法的控制器

`rmToolkit.controller('QuestionsCtrl', QuestionsCtrl);
 QuestionsCtrl.$inject = ['$scope', '$rootScope', '$stateParams', '$state','Data_Service'];
 function QuestionsCtrl($scope, $rootScope,) {
   var vm = this;
}`

希望此语法将解决缩小问题

请尝试使用带有vm和注入器语法的控制器

`rmToolkit.controller('QuestionsCtrl', QuestionsCtrl);
 QuestionsCtrl.$inject = ['$scope', '$rootScope', '$stateParams', '$state','Data_Service'];
 function QuestionsCtrl($scope, $rootScope,) {
   var vm = this;
}`

希望此语法将解决缩小问题

缩小不会更改控制器的名称。控制器、模块、服务和工厂名称是字符串文字,自然不会被minifyer@JoelCDoyle谢谢这肯定把事情弄清楚了!缩小不会更改控制器的名称。控制器、模块、服务和工厂名称是字符串文字,自然不会被minifyer@JoelCDoyle谢谢这肯定把事情弄清楚了!