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

Angular 9导入automapper-ts报错:‘automapper.d.ts’不是模块

Fixing 'automapper.d.ts is not a module' Error After Upgrading to Angular 9

Hey there! I totally get how frustrating it is when a working tool breaks after an Angular upgrade—especially when you’re still getting familiar with the framework. Let’s work through this automapper-ts issue together.

Here are the most common fixes that resolve this module error in Angular 9:

1. Verify and Downgrade automapper-ts to a Compatible Version

Angular 9 uses a newer TypeScript version (3.6.x) which might clash with the latest automapper-ts releases. Try installing a version that’s known to work with Angular 8/9:

npm uninstall automapper-ts
npm install automapper-ts@1.9.0 --save

2. Adjust Your Import Statement and TypeScript Config

Angular 9’s module resolution is stricter than Angular 7. Try modifying your import first:

// Replace this
import * as automapper from 'automapper-ts';

// With this (default export syntax)
import automapper from 'automapper-ts';

If that throws a "no default export" error, update your tsconfig.json to enable compatibility with CommonJS modules:

{
  "compilerOptions": {
    "allowSyntheticDefaultImports": true,
    "esModuleInterop": true,
    // ... rest of your existing config
  }
}

3. Add a Custom Type Declaration

Sometimes TypeScript can’t recognize the module’s type definitions properly. Create or update src/typings.d.ts in your project and add this declaration:

declare module 'automapper-ts' {
  export = automapper;
  declare const automapper: {
    createMap: (source: any, destination: any) => void;
    map: (sourceObj: any, destinationClass: any) => any;
    // Add other methods you regularly use here if needed
  };
}

4. Switch to a Modern Alternative (If All Else Fails)

automapper-ts hasn’t been updated in a while, so it might not play nice with newer Angular versions. Consider switching to the official, actively maintained @automapper suite:

  1. Install the required packages:
npm install @automapper/core @automapper/classes --save
  1. Set up and use it in your code:
import { createMapper, createMap, forMember, mapFrom } from '@automapper/core';
import { classes } from '@automapper/classes';

// Initialize the mapper
const mapper = createMapper({
  strategyInitializer: classes()
});

// Create a mapping between your source and destination classes
createMap(
  mapper,
  YourSourceClass,
  YourDestinationClass,
  forMember(dest => dest.someProperty, mapFrom(src => src.originalProperty))
);

// Use the mapper to transform objects
const mappedObj = mapper.map(yourSourceInstance, YourDestinationClass, YourSourceClass);

Give these steps a try one by one—most folks fix the issue with step 1 or 2. Don’t stress about missing anything as a new Angular dev; version compatibility quirks are super common!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 14:22:50