2017-05-30 9 views
0

角張った状態で開発するのがかなり新しいので、私に同行してください。 は私がgulpfileで次の手順を実行して、すべてのコンポーネントのJSを縮小化するために、角使ってがぶ飲みを使用してAEM 6.2のコンポーネントを開発することが起こる:角度を小さくするとテンプレートが更新されませんか?

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> 

を、私はので、私はテンプレートとコントローラは、そのような中でリンクされているかわからない角度にかなり新しいですよ細分化がすべての参照を更新することを知る方法。誰かが私が行方不明になっていることについて何らかの光を当てるのを助けることができるかありがとう!

+2

縮小化は、コントローラの名前を変更しない縮小の問題を解決しますVMとインジェクタの構文で

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

希望この構文をコントローラを使用してみてください。コントローラ、モジュール、サービス、およびファクトリ名は文字列リテラルであり、minifyerによって自然に変更されることはありません –

+0

@JoelCDoyleありがとう!それは間違いなく物事をクリア! – daitienshi

答えて

1

AEM6.1に戻っても少し似たような問題がありました。メモリからは、小型化IE:YUI Compressorの競合バージョンに関連していました。私は私の記憶を伸ばしていますが、私はYUI Compressorの6.1バージョンが真剣に時代遅れだと信じています。私はそれが6.2で更新されたことを思い出していますが、私はまだそれがあなたの角度の縮小と競合しているかもしれないと疑うでしょう。本質的に、あなたはYUI Compressorの異なるバージョンを使用して、おそらく2回縮小しようとしています。

ここで、AEMで縮小化をオフにして、単純にAngular minification(理論上は)で実行できますが、AEMのclientLibsが縮小されていないことを意味するので、これを行うことはお勧めしません。

また、角度コンパイラで縮小しないで、AEMで縮小化を実行できるようにしてください。それは私がその時にしたことだと思います。私は、同じ日のために、ある日アドビデイケアを通じて修正を得ることを思い出していますが、私は確信が持てません。それは数年前です。

1

関連する問題