簡體   English   中英

npm 自定義 typescript package - 類型顯示為任何

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM