2016-11-27 1 views
0

J'essaie de construire la structure du projet angularjs (angulaire 1.) en utilisant tapuscrit. J'utilise webpack pour compiler le typecript & ES6 en javascript.comment importer les sous-modules angularjs dans le tapuscrit

Dans mon projet, j'ai configuré webpack pour compiler uniquement le fichier « app.ts » et tous les autres fichiers inclus dans avec « l'importation » syntaxe:

import { config } from './config';///<--HERE 
    module angularSeed { 
    'use strict'; 

     // Declare app level module which depends on views, and components 
     angular.module('myApp', [ 
     'ngRoute', 
     'myApp.view1', 
     'myApp.view2', 
     'myApp.version' 
     ]).config(config)//<-- using imported config.ts 

    } 

Je veux que mon projet soit divisé en sous-modules angulaires et inclus dans le module principal comme suit:

angular.module('mainApp',['myApp.version','myApp.view1','myApp.view2']) 

la question est: Comment exporter les sous-modules?

La seule façon que j'ai trouvé à ce jour est de définir les fichiers de définition de module en tant que classe:

class view1 { 
    constructor(){ 
    angular.module('myApp.view1', ['ngRoute']) 

    .config(['$routeProvider', ($routeProvider: angular.route.IRouteProvider) => { 
     $routeProvider.when('/view1', { 
     templateUrl: 'view1/view1.html', 
     controller: 'View1Ctrl' 
     }); 
    }]) 

    .controller('View1Ctrl', [() => { 

    }]); 
    } 

} 
export default view1; 

et dans le fichier principal - d'utiliser « nouvelle » pour le feu du constructeur:

import { config } from './config'; 
import view2 from './view2/view2'; 
import view1 from './view1/view1'; 
import version from './components/version/version'; 
module angularSeed { 
'use strict'; 
    new view2();///<-- HERE 
    new view1(); 
    new version(); 
    // Declare app level module which depends on views, and components 
    angular.module('myApp', [ 
    'ngRoute', 
    'myApp.view1', 
    'myApp.view2', 
    'myApp.version' 
    ]).config(config) 


} 

J'ai le sentiment qu'il y a un moyen plus précis. Ai-je raison?

Merci

Répondre

0

J'ai trouvé la réponse à la recherche here

Vous pouvez laisser une logique de déclaration est

angular.module('myApp.view1', ['ngRoute']) 

.config(['$routeProvider', ($routeProvider: angular.route.IRouteProvider) => { 
    $routeProvider.when('/view1', { 
    templateUrl: 'view1/view1.html', 
    controller: 'View1Ctrl' 
    }); 
}]) 

.controller('View1Ctrl', [() => { 

}]); 

et d'importer avec simple:

import './view1/view1'; 

syntaxe