Javascript 尽管在控制器中使用了数组语法,但AngularJS代码未正确缩小
在angular中,一个众所周知的问题是在将依赖项引入控制器时需要使用特殊的数组语法来避免缩小问题,所以我一直在使用这种表示法。但喷油器似乎仍然存在此代码的问题,只有通过gulp uglify发送后才会出现此代码 其他角度元素(如指令)是否也需要使用此语法?另外,我使用对象表示法来定义一个控制器,这可能是问题所在吗 一些主要的配置文件Javascript 尽管在控制器中使用了数组语法,但AngularJS代码未正确缩小,javascript,angularjs,minify,gulp,gulp-uglify,Javascript,Angularjs,Minify,Gulp,Gulp Uglify,在angular中,一个众所周知的问题是在将依赖项引入控制器时需要使用特殊的数组语法来避免缩小问题,所以我一直在使用这种表示法。但喷油器似乎仍然存在此代码的问题,只有通过gulp uglify发送后才会出现此代码 其他角度元素(如指令)是否也需要使用此语法?另外,我使用对象表示法来定义一个控制器,这可能是问题所在吗 一些主要的配置文件 var app = angular.module('musicApp', ['ngSanitize']); //Whitelist Soundcloud app
var app = angular.module('musicApp', ['ngSanitize']);
//Whitelist Soundcloud
app.config(function($sceDelegateProvider) {
$sceDelegateProvider.resourceUrlWhitelist([
'self',
'https://w.soundcloud.com/**'
]);
});
指令,其中包含一个控制器
app.directive('soundcloudHtml', ['$sce', function($sce){
return {
restrict: 'A',
link: function(scope, element, attrs) {
scope.musicPiece.soundcloud = $sce.trustAsHtml(scope.musicPiece.soundcloud);
}
}
}]);
app.directive('music', function(){
return {
restrict: 'E',
scope:{
type: '='
},
templateUrl: '/resources/data/music/music.html?po=343we',
link: function(scope, element, attrs) {
},
controller: ['$http', '$scope', function($http, $scope){
this.musicList = [];
$scope.Utils = Utils;
var ctrl = this;
$http.get('/resources/data/music/music.json').success(function(data){
ctrl.musicList = data;
Utils.updateTableOfContents();
});
}],
controllerAs: 'musicCtrl'
};
});
看起来我错过了配置也需要这种模式,以便缩小。 配置应该是
//Whitelist Soundcloud
app.config(['$sceDelegateProvider', function($sceDelegateProvider) {
$sceDelegateProvider.resourceUrlWhitelist([
'self',
'https://w.soundcloud.com/**'
]);
}]);
而不是
//Whitelist Soundcloud
app.config(function($sceDelegateProvider) {
$sceDelegateProvider.resourceUrlWhitelist([
'self',
'https://w.soundcloud.com/**'
]);
});
你的配置也需要dep注入模式,对吗?太酷了!看起来配置是遗漏的。这解决了问题!