Поэтому я пытаюсь получить код Visual Studio, который предоставит мне его intellisense для сервисов моего приложения AngularJs (не Angular).Мне удалось получить стандартный тип для angular (теперь, когда я набираю «angular», он предлагает что-то вроде модуля и т. Д.).Это работает, и это здорово, однако я не могу найти способ заставить его работать с моими службами (или фабриками).Я знаю, что для IDE не так просто вычислить код, который вводится через внедрение зависимостей и т. Д.
НО, кажется, работает нормально, когда и мой контроллер, и служба, которую он использует, находятся в одном и том же файле JS!Единственная проблема, с которой я сталкиваюсь, заключается в том, что мое приложение слишком велико, чтобы помещаться в один файл JS, и как только я разделяю код на несколько файлов, происходит сбой.
Обратите внимание, что я пыталсяиспользуя «директиву тройного слэша» (///), и это не помогло.Я весь день ломал голову над этим, буду очень признателен за любую помощь.
Пример кода:
var app = angular.module('app', []);
app.controller('ctrl', ['$scope', 'test',
function ($scope, test) {
$scope.test = test.word; //TRY TYPING 'test.' --> want to have intellisense suggest 'word'
}]);
//PUT THE BELOW IN ANOTHER FILE AND INTELLISENSE DOES NOT SHOW 'word'
app.service('test', [function(){
/**
* @type {string}
*/
this.word = "balls";
/**
* @function
* @param {string} variable
*/
this.getLower = function (variable) {
return variable.toLowerCase();
}
}]);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app">
<div ng-controller="ctrl">
<p class="lead">{{test}}</p>
</div>
</div>