2017-08-08 19 views
0

私はnpmで発行したtypescriptモジュールを作成しましたが、intellisensを動作させることはできません。Typescript型定義が見つかりません

ファイル構造は、このような

dist 
    index.js 
    + others 
src 
    index.ts 
    + others 
package.json 
tsconfig.json 

srcようです.tsファイルが含まれている、と.js.d.ts.js.mapをDIST。

は、私がこれを行う場合:

import { X } from 'my-package'; 

それは動作しますが、エラー、ないintellisens、およびメッセージはthe type definition is not foundではありません。

は、私がこれを行うただし場合:

import { X } from 'my-package/dist'; 

私はintellisensを得ますか。 package.jsonで

私が入れ:

"main": "dist/index.js", 

そして、ここでは私のTSconfigです:

{ 
    "compilerOptions": { 
    /* Basic Options */ 
    "target": "es6",       /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', or 'ESNEXT'. */ 
    "module": "commonjs",      /* Specify module code generation: 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */ 
    "declaration": true,     /* Generates corresponding '.d.ts' file. */ 
    "sourceMap": true,      /* Generates corresponding '.map' file. */ 
    "outDir": "./dist",      /* Redirect output structure to the directory. */ 
    "rootDir": "./src",      /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ 
    "removeComments": false,    /* Do not emit comments to output. */ 

    "strict": true,       /* Enable all strict type-checking options. */ 

    "sourceRoot": "./dist",     /* Specify the location where debugger should locate TypeScript files instead of source locations. */ 
    "mapRoot": "./dist"      /* Specify the location where debugger should locate map files instead of generated locations. */ 
    },"exclude": [ 
    "test/**" 
    ] 
} 

答えて

1

あなたは別途.d.tsファイルを参照する必要があります。 TypeScriptハンドブックのpublishingを参照してください。あなたのpackage.json

{ 
    "name": "awesome", 
    "author": "me", 
    "version": "1.0.0", 
    "main": "./dist/index.js", 
    "types": "./dist/index.d.ts" 
} 

注値index.d.tsファイルへのポイントtypesキー。

関連する問題