You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular 17无应用模块时如何全局配置CUSTOM_ELEMENTS_SCHEMA?

解决Angular 17 Standalone模式下全局配置CUSTOM_ELEMENTS_SCHEMA的问题

在Angular 17的standalone应用架构中,确实无法直接在ApplicationConfig里添加schemas属性,但可以通过provideCompilerOptions提供者来全局配置编译器选项,从而一次性启用CUSTOM_ELEMENTS_SCHEMA,无需在每个组件中重复声明。

修改你的app.config.ts:

import { ApplicationConfig, importProvidersFrom, provideCompilerOptions } from '@angular/core';
import { provideRouter } from '@angular/router';
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';

import { routes } from './app.routes';
import { provideHttpClient } from '@angular/common/http';
import { CookieModule } from 'ngx-cookie';

export const appConfig: ApplicationConfig = {
  providers: [
    provideRouter(routes),
    provideHttpClient(),
    importProvidersFrom(CookieModule.withOptions()),
    // 全局配置CUSTOM_ELEMENTS_SCHEMA
    provideCompilerOptions({
      schemas: [CUSTOM_ELEMENTS_SCHEMA]
    })
  ],
};

说明:

  • provideCompilerOptions是Angular提供的用于配置全局编译器选项的API,它允许你在standalone应用中设置原本只能在NgModule的schemas数组里配置的内容。
  • 配置完成后,所有组件都会自动识别Web Components标签,无需再逐个添加schemas: [CUSTOM_ELEMENTS_SCHEMA]。
  • 确保你的Web Components已经在应用启动前正确注册(比如在main.ts中导入对应的组件脚本),否则Angular仍会抛出未知组件的错误。

内容的提问来源于stack exchange,提问作者luis micu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 03:09:56