1

我的应用程序包含 15 个模块中的 100 个组件。是angular2.rc5angular-cli.beta10

我正在升级到但由于依赖angular-cli.beta14而保留。angular2.rc5

到目前为止,一切正常,但升级angular-material2图标开始引发错误。我只需要图标并且没有加载核心,但以防万一我也尝试加载它但没有成功。

Uncaught Error: Cannot find module './icon'.
webpackContextResolve @ src:10
webpackContext  @ src:5
(anonymous function)  @ index.js:13
(anonymous function)  @ index.js:3
(anonymous function)  @ index.js:8
__webpack_require__ @ bootstrap 7f40e89…:52
(anonymous function)  @ app.component.ts:66
__webpack_require__ @ bootstrap 7f40e89…:52
(anonymous function)  @ version.js:1
__webpack_require__ @ bootstrap 7f40e89…:52
(anonymous function)  @ main.bundle.js:134514
__webpack_require__ @ bootstrap 7f40e89…:52
webpackJsonpCallback  @ bootstrap 7f40e89…:23
(anonymous function)  @ main.bundle.js:1

如果我在 webpackContextResolve 进行调试,我会看到代码是:

var map = {
    "app/+device/device.module": 505
};
function webpackContext(req) {
    return __webpack_require__(webpackContextResolve(req));
};
function webpackContextResolve(req) {
    var id = map[req];
    if(!(id + 1)) // check for number
        throw new Error("Cannot find module '" + req + "'.");
    return id;
};
webpackContext.keys = function webpackContextKeys() {
    return Object.keys(map);
};
webpackContext.resolve = webpackContextResolve;
module.exports = webpackContext;
webpackContext.id = 14;

主模块如下所示:

@NgModule({
  imports: [
    [...]

    SharedModule,

    HomeModule,
    DeviceModule,
    [...]

DeviceModule 看起来像这样:

@NgModule({
  imports: [
    CommonModule,
    SharedModule,
    deviceRouting
  ],

像这样的 SharedModule :

@NgModule({
  imports: [
    // ANGULAR
    BrowserModule,
    FormsModule,
    RouterModule,
    ReactiveFormsModule,
    JsonpModule,

    // EXTERNAL
    MdCoreModule,
    MdIconModule,
    [...]

这是我第一次使用 webpack,我真的不明白为什么地图中只有一个模块,为什么特别是那个模块。

有什么建议吗?

更新

我找到了它的名字。在路由文件中,我需要加载一些共享的孩子。在 rc4 中,使用路由器 3.0.0-rc1 就像这样的路径:'device',组件:DeviceComponent,

children: [
  {
    path: 'selector',
    component: DeviceSelectorComponent
  },
  ...CONTENT_DEVICE_PREVIEW_ROUTES
]

在 rc5 中,使用路由器 3.0.0

loadChildren: 'app/+device/device.module#DeviceModule',
4

0 回答 0