javascript - 在“npm 链接”和“npm i”之后" 无法解析模块("main" 和 "types" 在 package.json 中正确)
问题描述
我的package.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
.
require('ts-logger')
我import {Logger} from 'ts-logger'
得到node .
了 npm 无法解析模块的日志
解决方案
问题出在package.json - 我刚刚交换了devDependencies
and dependencies
,因为 typescript 是将代码从 git 编译到 dist 文件夹的依赖项。
"dependencies": {
"typescript": "^4.0.2",
"@types/node": "^14.6.4"
},
"devDependencies": {}
UPD
此外,我在包中启动了我的tsconfig.json"target":"es5"
,但新项目使用"target":"es2015"
. 因此,这意味着您的包目标必须比项目中的目标更新(或相同)(最好是"target":"ESNext"
)。
推荐阅读
- c# - 如何获取图像表单datagridview并发送到其他datagridview c#
- entity-framework - 如果第一个 linq 查询返回空,如何从另一个查询列表中获取结果?
- sql-server - 需要创建程序来验证表中的 SSN
- javascript - 加入 Firebase 上的搜索查询,如何?
- c++ - 链接器找不到模板函数
- sql - 是否可以在雪花中使用 regexp_replce 进行大小写转换?
- python - vaex ValueError:找不到类(AggSum_object),似乎不支持对象
- c++ - 链接器错误 2005 似乎是由构造函数引起的
- r - 如何解决在CVXR中具有不同基数的指数项的目标函数?
- r - 如何重命名在 r 中使用 str_detect 找到的列?