我试图通过以下教程学习如何首次发布TypeScript NPM包。然而,当我在TypeScript Node.js项目中使用该包时,我发现它无法识别该包的类型文件。我使用的所有其他NPM包都有功能类型系统,除了我的。似乎类型安全无法正常工作。以下是项目结构:
我有一个名为“easyerrormodule.ts”的文件,我在其中定义了我的类型,例如:
export interface comonErrorAttributes{
string?: string[]
number?: number[]
}
export interface commonGeneralErrorRoleAttributes{
role?: string
setRole?: string
}
export interface stringLengthErrorValueAttributes{
string?: string[]
}
export interface stringLengthErrorShortLengthAttributes{
shortMinLength?: number
shortMaxLength?: number
}
我也有这个文件与我的逻辑称为globaltype.ts
;
import { comonErrorAttributes, commonGeneralErrorRoleAttributes, stringLengthErrorValueAttributes, stringLengthErrorShortLengthAttributes,
stringLengthErrorLongStringLengthAttributes, stringLengthErrorLongStringAttributes} from "./easyerrormodule"
class GlobalErrorClass {
logics run here
}
export const errorInstance = new GlobalErrorClass()
我的typescript配置文件:
{
"compilerOptions": {
/* Language and Environment */
"target": "es2015",
/* Modules */
"module": "ES2015",
/* Emit */
"declaration": true,
// "outFile": "./",
"outDir": "./build/esm",
// "allowSyntheticDefaultImports": true,
"esModuleInterop": true,
// "preserveSymlinks": true,
"forceConsistentCasingInFileNames": true,
/* Type Checking */
"strict": true,
/* Completeness */
// "skipDefaultLibCheck": true,
"skipLibCheck": true,
"typeRoots": ["./node_modules/@types/globaltype.d.ts"]
},
}
我的package.json文件:
{
"name": "errorcatchernode",
"version": "1.0.4",
"description": "basic error handling module for node basic projects",
"main": "build/globaltype.js",
"types": "build/easyerrormodule.d.ts",
"scripts": {
"build": "tsc"
},
"license": "ISC",
"devDependencies": {
"typescript": "^5.0.4"
}
}
我错过了什么?
1条答案
按热度按时间umuewwlo1#
您的包具有TS导出
但你真正的出口
很明显这样不行。
如果要 * 再出口 * 您的类型,您需要什么
并将
package.json
更改为使用