2016-11-18 38 views
0

我試圖實現對角混合的WebPack(使用ngupgrade),但我得到一個錯誤角混合 - 的WebPack - NOMOD

模塊「應用」不可!你要麼拼寫錯誤的模塊名稱或忘了加載

「應用」是我的角1個模塊名稱,

示例代碼在我的角度2個main.ts文件

declare var angular:any; 
var adapter = new UpgradeAdapter(AppModule); 

angular.module('app').directive('appComponent', adapter.downgradeNg2Component(AppComponent)); 
adapter.bootstrap(document.body, ['app']); 

任何人有遇到類似的問題?

app.js

var app = angular.module('app', ['ui.router']); 
app.config(function($stateProvider, $urlRouterProvider) { 
    $urlRouterProvider.otherwise('/home'); 
    $stateProvider 
     .state('home', { 
      url: '/home', 
      templateUrl: 'app/home/home.html', 
      controller: 'HomeController' 
     }) 
    }); 

角2升級文件:main.ts

import {UpgradeAdapter} from '@angular/upgrade'; 
import {AppComponent} from './app.component'; 
import {AppModule} from './app.module'; 

declare var angular:any; 
var adapter = new UpgradeAdapter(AppModule); 
angular.module('app').directive('appComponent', adapter.downgradeNg2Component(AppComponent)); 
adapter.bootstrap(document.body, ['app']); 

回答

0

在你main.ts文件試試下面的代碼

import {UpgradeAdapter} from '@angular/upgrade'; 
import {AppComponent} from './app.component'; 
import {AppModule} from './app.module'; 

declare var angular:any; 
var adapter = new UpgradeAdapter(AppModule); 
angular.module('app',[]); 
angular.module('app').directive('appComponent',  
adapter.downgradeNg2Component(AppComponent)); 
adapter.bootstrap(document.body, ['app']); 

我認爲你錯過了德在模塊聲明之前使用僞指令來聲明你的模塊。

0

你第一次打電話angular.module你需要包含一個依賴關係數組,這就是'[]'。之後,您可以通過致電angular.module('app')

angular.module('app', []).directive('appComponent', adapter.downgradeNg2Component(AppComponent)); 
再次獲得應用程序模塊