gpt4 book ai didi

Angular 通用 Firebase : no provider for InjectionToken MODULE_MAP

转载 作者:行者123 更新时间:2023-12-03 16:53:42 28 4
gpt4 key购买 nike

为什么我会得到

Error: StaticInjectorError(AppServerModule)[NgModuleFactoryLoader -> InjectionToken MODULE_MAP]: 

StaticInjectorError(Platform: core)[NgModuleFactoryLoader -> InjectionToken MODULE_MAP]:

NullInjectorError: No provider for InjectionToken MODULE_MAP!

尝试使用 Firebase 部署时?

我确实使用
extraProviders: [

provideModuleMap(LAZY_MODULE_MAP)

]

并在我的 app-server.module 中导入 ModuleMapLoaderModule (顺便说一句,我尝试以不同的顺序导入 ServerModule 和 AppModule,有人告诉我这可能是问题所在,但它没有用):
@NgModule({

imports: [

ServerModule,

AppModule,

ModuleMapLoaderModule,

],

bootstrap: [AppComponent],

})

export class AppServerModule { }

main.bundle.js 包含以下内容:
Object.defineProperty(exports, "__esModule", { value: true });

var app_server_module_ngfactory_1 = __webpack_require__("./src/app/app.server.module.ngfactory.js");

exports.AppServerModuleNgFactory = app_server_module_ngfactory_1.AppServerModuleNgFactory;

var __lazy_0__ = __webpack_require__("./src/app/features/blog/blog.module.ngfactory.js");

var app_server_module_1 = __webpack_require__("./src/app/app.server.module.ts");

exports.AppServerModule = app_server_module_1.AppServerModule;

exports.LAZY_MODULE_MAP = { "app/features/blog/blog.module#BlogModule": __lazy_0__.BlogModuleNgFactory };
main.bundle.js确实会正确导入到 firebase 脚本中,因为如果我更改 require(...) 中的一些字母,我收到文件未知的错误。那么 LAZY_MODULE_MAP 有什么问题? ?它看起来像一个 string-route-to-factory map/js-object 并被导出。那为什么 provideModuleMap 没有解决它正确吗? BlogModule只有一个 Hello-World-Stub 组件的声明。

顺便说一句,这里有一个类似的问题,但没有回复: Angular5 Universal lazy loading on firebase hosting and seo

最佳答案

TLDR;

npm uninstall @nguniversal/common
npm uninstall @nguniversal/module-map-ngfactory-loader

并删除 ModuleMapLoaderModule来自您的 app.server.module.ts .

TSWM;

在 Angular < 9 中,Universal 依赖于 @nguniversal/common@nguniversal/module-map-ngfactory-loader处理延迟加载的模块。使用 Angular 9+,他们现在提供开箱即用的 ngExpressEngine处理这个。您只需要 @nguniversal/express-engine作为 the docs提到。

关于Angular 通用 Firebase : no provider for InjectionToken MODULE_MAP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49431575/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com