我们正在尝试构建一个 JavaScript 库(dwbn-event-webcomponents),它可以导入到打字稿项目(Angular 17)中,也可以独立使用。它是通过 npm 从 git url 安装的。
然而,在 Angular 项目中,我们收到以下错误:
event.module.ts:5:0-52 - Error: Module not found: Error: Can't resolve 'dwbn-event-webcomponents' in 'src/app/modules/ondemand'
dwbn-event-webcomponents 的
package.json
看起来像这样:
{
"name": "dwbn-event-webcomponents",
"version": "1.0.8",
"description": "A powerfull but easy to integrate web component",
"main": "src/js/events-webcomponents.js",
"module": "src/js/events-webcomponents.js",
"source": "src/js/events-webcomponents.js",
"types": "types/event-webcomponents.d.ts",
"type": "module",
"keywords": [
"events"
],
"devDependencies": {
"@inquirer/prompts": "^7.0.1",
"clean-webpack-plugin": "^4.0.0",
"gulp": "^5.0.0",
"semver": "^7.6.3",
"typescript": "^5.6.3",
"webpack": "^5.95.0",
"webpack-stream": "^7.0.0"
},
"engines": {
"node": ">= 18"
}
}
文件都在定义的位置,我们已经通过
npx tsc
生成了打字稿类型定义文件。
我们如何解决此错误并使该库可在打字稿项目中使用?
所以这确实是一个非常愚蠢的错误。
我们的文件结构:
src/js/event-webcomponents.js
并且在
package.js
中,module
属性仍然指向文件的旧名称:"module": "src/js/events-webcomponents.js",
经典的错字...
不幸的是,打字稿“未找到模块:错误”消息在这种情况下并不是很有帮助。但如果您遇到类似的问题,则值得仔细检查所有路径。