加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Angular2 Webpack lazyload TypeError:无法将undefined或null转

发布时间:2020-12-17 17:08:57 所属栏目:安全 来源:网络整理
导读:我遇到角度路由器加载器的问题, 我想懒惰加载一个模块,我遵循我看到的每个指南, 并且我不断收到此错误:TypeError:无法将undefined或null转换为object: 这是我的webpack.config.common.js var webpack = require('webpack');var HtmlWebpackPlugin = requi
我遇到角度路由器加载器的问题,
我想懒惰加载一个模块,我遵循我看到的每个指南,
并且我不断收到此错误:TypeError:无法将undefined或null转换为object:

The error

这是我的webpack.config.common.js

var webpack = require('webpack');
var HtmlWebpackPlugin = require('html-webpack-plugin');

module.exports = {
    entry: {
        'app': './app/main.ts'
    },resolve: {
        extensions: ['.js','.ts']
    },module: {
        loaders: [
            {
                test: /.ts$/,loaders: [
                    'awesome-typescript-loader','angular2-template-loader','angular-router-loader'
                ]
            },{
                test: /.html$/,loader: 'html-loader'
            },{
                test: /.css$/,loader: 'raw-loader'
            }
        ]
    },plugins: [
        new HtmlWebpackPlugin({
            template: 'index.html'
        }),new webpack.ContextReplacementPlugin(
            // The (|/) piece accounts for path separators in *nix and windows
            /angular(|/)core(|/)(esm(|/)src|src)(|/)linker/,'./app' // location of the src
        )
    ]
};

这是app.routing.ts

import { ModuleWithProviders } from '@angular/core';
import { Routes,RouterModule } from '@angular/router';

const appRoutes: Routes = [
    {
        path: '',redirectTo: '/dashboard',pathMatch: 'full'
    },{
        path: 'dashboard',loadChildren: './dashboard/dashboard.module#DashboardModule'
    }
];

export const appRoutingProviders: any[] = [

];

export const routing: ModuleWithProviders = RouterModule.forRoot(appRoutes);

这是仪表板/仪表板.模块:

import { NgModule }       from '@angular/core';
import { CommonModule }   from '@angular/common';
import { FormsModule }    from '@angular/forms';

import { DashboardComponent }    from './dashboard.component';

import { dashboardRouting } from './dashboard.routing';

@NgModule({
    imports: [
        CommonModule,FormsModule,dashboardRouting
    ],declarations: [
        DashboardComponent
    ],providers: [
    ]
})
export class DashboardModule {}

这是我的依赖项:

"devDependencies": {
    "@types/core-js": "^0.9.35","@types/hammerjs": "^2.0.34","@types/jasmine": "^2.5.38","@types/node": "^6.0.53","angular-router-loader": "^0.5.0","angular2-template-loader": "^0.6.0","awesome-typescript-loader": "^3.0.0-beta.18","del-cli": "^0.2.1","html-loader": "^0.4.4","html-webpack-plugin": "^2.26.0","lite-server": "^2.2.2","raw-loader": "^0.5.1","webpack": "^2.2.0-rc.4","webpack-dev-server": "^2.2.0-rc.0","webpack-merge": "^2.4.0"
  }

我做错了什么?

解决方法

尝试导入

import { RouterModule } from '@angular/router';
import { <children routes of dashboard> } from '<path of dashboard child routes>';

在您的仪表板/ dashboard.module中,然后将其放在DashboardModule的NgModule导入区域中

@NgModule({
    imports: [
        CommonModule,imports: [
        RouterModule.forChild(<children routes of dashboard>)
    ]
})
export class DashboardModule {}

请替换<>部分有必要的细节.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读