我正在尝试使用angular hybrid实现webpack(使用ngupgrade),但我收到错误
模块' app'不可用!您要么错误拼写了模块名称,要么忘记加载它
'应用'是我的角度1模块名称,
我的angular 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'
})
});
angular 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 :(得分: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']);
我认为你在模块声明之前使用指令错过了你的模块的声明。
答案 1 :(得分:0)
第一次拨打angular.module
时,您需要添加一系列依赖关系,这是' []
'对于。之后,您可以通过调用angular.module('app')
angular.module('app', []).directive('appComponent', adapter.downgradeNg2Component(AppComponent));