将一个项目从 angular 15 升级到 angular 17 遇到的问题,下面的 import 代码
import { isString } from 'markdown-it/lib/common/utils';
在 build 时报错
Module not found: Error: Can't resolve 'markdown-it/lib/common/utils'
报错是在运行 npm run build
时出现的,而在 vscode 中编辑对应的代码文件并没有出现错误提示
对应的 utils.d.ts
文件在 node_modules\@types\markdown-it\lib\common
中
对应的 npm 包是 @types/markdown-it
4月3日更新:新建一个 angular 17 项目,安装 npm 包 @types/markdown-it
,调用 isString
方法,可以重现这个问题
看来是 @types/markdown-it
与 markdown-it
版本不一致引起的
新建的 angular 17 项目中使用的都是最新版,@types/markdown-it
版本是 13.0.7
,markdown-it
版本是 14.1.0
,将 markdown-it
降级为 13.0.2
,问题消失
的确就是最新版的 @types/markdown-it
与最新版的 markdown-it
不兼容引起的
从 angular 15 升级到 angular 17 的项目安装 markdown-it 13 之后问题也解决了
npm i markdown-it@13.0.2
等 @types/markdown-it@14.0.0
出来应该就不需要安装 markdown-it@13.0.2