[英]npm custom typescript package - types show as any
我已經用 typescript 創建了一個私有 npm 庫,並且我正在嘗試從 React 應用程序(不使用打字稿)中使用它。
這是庫的tsconfig.json
:
{
"compilerOptions": {
"target": "ES2017",
"module": "commonjs",
"lib": ["es2017", "es7", "es6", "dom"],
"declaration": true,
"sourceMap": true,
"strict": true,
"baseUrl": "./src",
"outDir": "./lib",
"rootDir": "./src",
"paths": {
"src/*": ["./src/*"]
},
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true
},
"include": ["src/**/*"],
"exclude": ["node_modules"]
}
文件夾結構如下:
package
/src
index.ts
/types
FuncTypes.ts
/utils
someFunc.ts
FuncTypes.ts
文件:
export interface FuncOptions {
value: string;
}
someFunc.js
文件:
import { FuncOptions } from "types";
export default (options: FuncOptions ): void => {
console.log(options);
};
最后, index.ts
:
import { default as someFunc } from "./utils/someFunc";
export { someFunc };
我成功發布它,從 React 應用程序成功安裝它,但是每當我使用someFunc()
時, options
的類型顯示為any
。
我相信問題在於絕對路徑以及我如何配置它們。
有任何想法嗎?
弄清楚了。
運行tsc
后, outDir
( lib
) 中的路徑仍然相對於src
文件夾。
我必須安裝tscpaths
並將構建命令更改為"build": "tsc --project tsconfig.json && tscpaths -p tsconfig.json -s./src -o./lib"
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.