我使用打字稿和角度。 所以例如在控制器中我有符号
A)
export function Controller($scope: Scope) {}
(<any>Controller).$inject = ['$scope'];
b)
export class Controller {
constructor(private $scope) {}
}
App.directive('someCoolDirective', function() {
return {
restrict: 'E',
etc...
controller: <any[]>['$scope', SomeCoolDirective.Controller],
etc...
};
});
c)
App.directive('someDirectives', <any[]>[ '$parse', '$rootScope', '$compile', 'userPermissions', function($parse, $rootScope, $compile, userPermissions) { }
d)
services...
如您所见,在缩小后有不同的方法来指定DI的依赖关系。 但我们只是人类,我倾向于忘记(控制器)。$ inject,或者我添加一些依赖并忘记添加数组。如果我没有指定它,它可以工作,直到缩小。比在颈部疼痛找到它。有时浏览器控制台甚至没有错误。
你知道一些工具,检查所有控制器,服务,指令并验证是否有正确的$ inject [&#39; $ scope&#39;,...等]符号?它匹配所有必需的依赖项?我想在构建服务器上自动化。
答案 0 :(得分:0)
为什么不自行编写Typescript编译器并自行完成?然后将它发布到某个地方(例如Github),以便它可以用于像我这样的穷人;)