34

ここにある優れた Express/Node/Typescript サンプル コードを使用しています。run.sh から次のコマンドを使用して、.ts コードをトランスパイルします。

./node_modules/.bin/tsc --sourcemap --module commonjs ./bin/www.ts

これは宣伝どおりに機能しますが、tsconfig.json ファイルを使用することをお勧めしますtsc -p .。ただし、そのコマンドを実行するとTS2300: Duplicate identifier 'foo' errorstsc(誤って?) ./node_modulesand./typingsディレクトリをウォークしようとすると、大量のエラーが発生します。以下は、私が使用している tsconfig.json です。

{
  "compilerOptions": {
    "target": "ES5",
    "module": "commonjs",
    "moduleResolution": "node",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "removeComments": false,
    "noImplicitAny": false
  },
  "exclude": [
    "node_modules",
    "typings"
  ]
}

何か案は?tsc 1.7.3 FWIW を使用しています。

4

9 に答える 9

2

私はちょうど同じ問題を抱えていました。約 30 分間髪を引っ張っていると、次のことがわかりました。

"target": "ES5",

"target": "ES6",

すべてのエラーが消えます!

于 2016-05-17T19:30:18.200 に答える
1

やった:

git clone https://github.com/czechboy0/Express-4x-Typescript-Sample.git
cd Express-4x-Typescript-Sample/
./run.sh
tsd install  # I don't know why, but this helped me.
./run.sh

Express-4x-Typescript-Sample/tsconfig.jsonコンテンツを含むファイルを作成しました

{
  "compilerOptions": {
    "target": "ES5",
    "module": "commonjs",
    "moduleResolution": "node",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "removeComments": false,
    "noImplicitAny": false
  },
  "exclude": [
    "node_modules",
    "typings"
  ]
} 

走った

[...]/Express-4x-Typescript-Sample$ tsc -p .

そしてそれはうまくいきます-つまり、エラーはありません。

于 2015-12-16T12:56:42.703 に答える
-1

私はこの問題を抱えていて、私は次のようにexclude見えました:

"exclude": [
  "node_modules",
  "typings"
]

を削除する"typings"と動作しました。私にとっての最終的な解決策:

"exclude": [
  "node_modules"
]
于 2016-07-23T20:51:57.477 に答える
-3

04/02/0217 (4 月 2 日) - 私はこれと同じことを経験していました。最後に、このWebサイトを見つけました(stackoverflowの投稿からリンクされているのを見たことがありません):https://angular.io/docs/ts/latest/guide/typescript-configuration.html

その中で、compilerOptions に次の行を見つけました。

"lib": [ "es2015", "dom" ]

私はそれが何をするのか分かりません。この時点では気にしませんが、node_modules エラーはすべて消えました。

インクルード/エクスクルードが機能しないのは、「依存関係」が原因だと思います。フォルダーを除外しても、インポートされたファイル (Component や NgModule など) が node_modules 内のファイルに依存している場合、tsc はそのファイルをコンパイルしようとします。

于 2017-04-02T12:51:16.243 に答える