2017-06-25 1 views
2

J'utilise Angular 1 dans VScode. J'ai un fichier principal qui définit tous mes services, contrôleurs etc et require leur est contre Angular.jsDoc - définir le type sans importer le fichier

angular.module('myApp', []) 
    .service('myService', require('./myService.js') 
    .controller('myController', require('./myController.js'); 

et le service:

class MyService { 
    constructor() {} 
} 

module.exports = MyService; 

et mon contrôleur

class MyController { 
    constructor(myService) {  
     /** @type {MyService} */ 
     this.myService = myService; 
    } 
} 

module.exports = MyController; 

En conséquence IntelliSense n'a aucune idée de ce myService est dans le contrôleur. J'avais espéré que le commentaire jsDoc aurait résolu ce problème car les deux fichiers sont dans le même espace de travail mais ce n'est pas le cas.

J'ai vu le commentaire type-def et essayé d'écrire un type personnalisé dans le fichier de service: /** {MyService} CustomService */ puis référence le type de CustomService dans mon contrôleur, mais cela ne fonctionne pas non plus.

En bref Est-il possible, en utilisant jsdoc en VSCode pour référencer une classe à partir d'un autre fichier sans requiring dans le fichier de travail actuel.

Merci pour tout aperçu tout.

Répondre