面倒なタスク「uglify」によってコードが変更されたため、動作しなくなりました。私は CoffeeScript、AngularJS、grunt などの初心者です。これを修正するには、CoffeeScript コードで何を変更する必要がありますか?
「醜い」が私のコードをそのように変更した理由はわかりません。JavaScript コードは私には良さそうです。
CoffeeScript コード:
# add background and some style just for specific page
.directive('customBackground', () ->
return {
restrict: "A"
controller: [
'$scope', '$element', '$location'
($scope, $element, $location) ->
path = ->
return $location.path()
addBg = (path) ->
# remove all the classes
$element.removeClass 'body-home body-special body-tasks body-lock'
# add certain class based on path
switch path
when '/' then $element.addClass 'body-home'
when '/404', '/500', '/signin' then $element.addClass 'body-special'
addBg $location.path()
$scope.$watch(path, (newVal, oldVal) ->
if newVal is oldVal
return
addBg $location.path()
return
)
return
]
}
)
コンパイルされた JS コード
.directive('customBackground', function() {
return {
restrict: "A",
controller: [
'$scope', '$element', '$location', function($scope, $element, $location) {
var addBg, path;
path = function() {
return $location.path();
};
addBg = function(path) {
$element.removeClass('body-home body-special body-tasks body-lock');
switch (path) {
case '/':
return $element.addClass('body-home');
case '/404':
case '/500':
case '/signin':
return $element.addClass('body-special');
}
};
addBg($location.path());
$scope.$watch(path, function(newVal, oldVal) {
if (newVal === oldVal) {
return;
}
addBg($location.path());
});
}
]
};
})
「uglify」タスク後の JS コード
.directive("customBackground", function () {
return{restrict: "A", controller: ["$scope", "$element", "$location", function ($scope, $element, $location) {
var addBg, path;
path = function () {
return $location.path()
}, addBg = function (path) {
switch ($element.removeClass("body-home body-special body-tasks body-lock"), path) {
case"/":
return $element.addClass("body-home");
case"/404":
case"/500":
case"/signin":
return $element.addClass("body-special")
}
}, addBg($location.path()), $scope.$watch(path, function (newVal, oldVal) {
newVal !== oldVal && addBg($location.path())
})
}]}
})