javascript - 如何正确缩小 angularJS 文件

标签 javascript angularjs minify

我有一个简单的 angularjs 指令,当我缩小文件时,我收到错误,因为变量名称已更改

var app= angular.module('app',[]);

app.directive('directive',function(){
    return {
        restrict: 'EA',
        scope: {},
        replace: true,
        link: function($scope, element, attributes){
            $scope.name="test-test";
        ,
        controller: function($scope,$attrs,$http){

        },
        templateUrl: 'directives/app/app.tpl.html'
    }
});

问题是 $scope.name 更改为 a.name 并且 Angular 无法识别它。 我尝试通过尝试类似的方法来注入(inject) $scope

link: ['$scope',function($scope, element, attributes){
            $scope.name="test-test";
}],
controller: ['$scope','$attrs','$http',function($scope,$attrs,$http){

}],

但是缩小后我仍然遇到与 a.name 相同的错误。

最佳答案

指令link函数不会被注入(inject)。它们传递了一组固定的参数,这些参数在 angular.js documentation 中列出并进行了全面描述。 。然而, Controller 的情况并非如此。这些是注入(inject)的,并且应该在缩小之前进行注释。您至少可以通过 3 种方式做到这一点:

  • 使用像示例中那样的数组语法
  • 在 Controller 函数上设置 $inject 属性,其值为可注入(inject)名称数组
  • 使用 ngAnnotate 进行注释它将检测 Angular 注入(inject)的使用并正确注释它

关于javascript - 如何正确缩小 angularJS 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39086318/

相关文章:

twitter-bootstrap - 在 jsFiddle 中使用 twitter 的 Bootstrap

javascript - body 事件未触发

javascript - 如何使用 Froogaloop Angularjs 从 vimeo 添加多个视频

html - iframe 下载 html 源而不是显示它

angularjs - Sublime Text 片段 : Create camelcased string from the hyphenated file name

node.js - 错误 : uglifyjs not found

javascript - 如何从 web 项目生成单个优化的 html 文件?

javascript - 为什么这个组件根本不显示? react 日期选择器

javascript - 验证多个用 javascript 逗号分隔的电子邮件

javascript - 捆绑和缩小 - 当启用的脚本不起作用时