Angular4 + webpack + UI-Router和lazyloading(没有systemjs)

时间:2017-06-13 05:03:51

标签: angular webpack angular-ui-router

我正在关注ngModules教程(https://angular.io/guide/ngmodule) 结合UI-Router的快速入门示例(https://github.com/ui-router/quickstart-ng2)。

我对Angular 4的设置仅限于webpack。

我试图在不使用SystemJS的情况下进行延迟加载。不确定是否可能。

我也使用Pug模板,我导入如下:

import template from './contact.component.pug';

@Component( {
  selector: 'app-contact',
  template: template(),
} )

我的tsconfig.json

{
  "compilerOptions": {
  "target": "es5",
  "module": "es2015",
  "moduleResolution": "node",
  "sourceMap": true,
  "removeComments": false,
  "typeRoots": [
    "node_modules/@types/"
  ],
  "outDir": "./dist/",
  "baseUrl": "./src/app/typings",
  "noImplicitAny": true,
  "suppressImplicitAnyIndexErrors": true,
  "emitDecoratorMetadata": true,
  "experimentalDecorators": true,
  "skipLibCheck": true,
  "lib": [
    "es2015",
    "dom"
  ]
},
"include": [
  "src/**/*"
],
"exclude": [
  "node_modules",
  "**/*.spec.ts"
]}

我尝试在UI-Router快速入门示例中使用SystemJS,但这会破坏我的哈巴狗模板的加载(导入将无效,结果未定义)。

所以看起来我处于2个世界之间。

我唯一的问题是我无法以懒惰的方式加载crisis.module

export let MAIN_STATES: Ng2StateDeclaration[] = [
// The top-level app state.
// This state fills the root <ui-view></ui-view> (defined in index.html) with the AppComponent
{ name: 'app', component: AppComponent },
{ name: 'app.crisis.**', url: '/crisis', lazyLoad: loadNgModule( 'src/app/common/crisis/crisis.module' ) },
];

有人有小费吗?

0 个答案:

没有答案