从Angular 1世界进入Angular 2并试图更好地理解Angular 2的路由选项。找到了一个体面的教程,他们在导入时使用如下:
import { ModuleWithProviders } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
routes.js中的(尽管教程使用的是我不喜欢的typescript(.ts))。
那就是说,如果我严格尝试使用导入而不是我最初使用的导入(注意:我的路径.js文件中没有显示@ angular / router):
var ng = require('@angular/core');
所以我喜欢他们正在做的事情的前提,并试图想出如何实现这一点。
我的root index.js看起来像:
require('core-js/client/shim');
require('zone.js/dist/zone');
require('@angular/common');
require('rxjs');
require('bootstrap')
require('./index.scss');
var ngCore = require('@angular/core');
var ngPbd = require('@angular/platform-browser-dynamic');
var AppModule = require('./app');
if (process.env.NODE_ENV === 'production') {
ngCore.enableProdMode();
} else {
Error['stackTraceLimit'] = Infinity; // eslint-disable-line dot-notation
require('zone.js/dist/long-stack-trace-zone');
}
ngPbd.platformBrowserDynamic().bootstrapModule(AppModule);
然后我的app的index.js是:
var bootstrap = require('bootstrap');
var ng = require('@angular/core');
var ngPlatformBrowser = require('@angular/platform-browser');
var uiRouter = require('ui-router-ng2');
var fa = require('font-awesome-loader');
var myRoutes = require('./routes');
var mainComponent = require('./main');
module.exports = uiRouter.UIRouterModule({
imports: [
ngPlatformBrowser.BrowserModule
],
declarations: [
mainComponent
],
providers: [
uiRouter.provideUIRouter({ configClass: myRoutes.MyUIRouterConfig })
],
states: myRoutes.STATES,
bootstrap: [uiRouter.UIView]
})(
ng.Class({
constructor: function() {}
})
);
有什么建议和帮助让我更好地了解这一点?这只是打字稿吗?
非常感谢。