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

Angular 18升级至19时遇到导出匹配及Vite相关错误

解决Angular 18升级到19的关键问题

一、修复"Ng-19 [ERROR] No matching export in 'src/main.server.ts' for import 'default'"错误

你的main.server.ts存在循环导入和缺少默认导出的问题,修改后代码如下:

import '@angular/platform-server/init';
import { enableProdMode } from '@angular/core';
import { environment } from './environments/environment';
// 移除循环导入,直接从实际模块文件导入
import { AppServerModule } from './app/app.server.module';

if (environment.production) {
  enableProdMode();
}

// 同时导出命名模块(保持原有兼容)和默认模块(满足Angular 19/Vite要求)
export { AppServerModule };
export default AppServerModule;

二、解决后续Vite相关错误

Angular 19全面切换到Vite作为默认构建工具,需针对性调整依赖和配置:

1. 更新自定义Webpack构建器

当前@angular-builders/custom-webpack版本为18.0.0,需升级到与Angular 19兼容的版本:

npm install @angular-builders/custom-webpack@^19.0.0 --save-dev

2. 移除过时SSR依赖

@nguniversal/module-map-ngfactory-loader是Angular 8及更早版本的遗留依赖,Angular 19已不再需要,直接删除:

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

3. 替换Vite不兼容的依赖

  • domino/domino-ext:Angular 19的@angular/platform-server已内置DOM模拟能力,可移除这两个包以避免冲突。
  • rxjs-compat:Angular 19使用RxJS 7.x,无需兼容RxJS 6.x,可删除该依赖。

4. 确认SSR构建配置

检查angular.json中的server构建配置是否已切换到Vite:

"server": {
  "builder": "@angular-devkit/build-angular:server",
  "options": {
    "outputPath": "dist/server",
    "main": "src/main.server.ts",
    "tsConfig": "src/tsconfig.server.json"
  }
}

5. 升级第三方库版本

检查所有第三方依赖(如@angular/fire、ngx-extended-pdf-viewer等)是否已发布支持Angular 19的版本,及时升级避免兼容性问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 01:48:10