"npm link"后"npm i <repo>"无法解析模块("main"和"types"在package.json中正确)



Mypackage.json文件

{
"name": "ts-logger",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"scripts": {
"install": "tsc"
},
"repository": {
"type": "git",
"url": "https://github.com/vkrenta/ts-logger.git"
},
"devDependencies": {
"typescript": "^4.0.2",
"@types/node": "^14.6.4"
},
"dependencies": {}
...
}

我的tsconfig.json

{
"compilerOptions": {
...
"outDir": "./dist",
"target": "es5",
...
"rootDir": "./"
},
"exclude": ["node_modules", "dist"]
}

我尝试将它推送到github并运行npm link

在我创建了另一个npm项目之后,在require('ts-logger')import {Logger} from 'ts-logger'node .之后,我得到了npm无法解析模块的日志

问题出现在package.json-我刚刚交换了devDependenciesdependencies,因为typescript是将代码从git编译到dist文件夹的依赖项。

"dependencies": {
"typescript": "^4.0.2",
"@types/node": "^14.6.4"
},
"devDependencies": {}

UPD

此外,我用"target":"es5"启动了tsconfig.json包,但用"target":"es2015"启动了新项目。因此,这意味着您的包目标必须比项目中的目标更新(或相同((最好的是"target":"ESNext"(。

最新更新