私は見つかった優れたExpress/Node/TypeScriptサンプルコードで作業しています ここ 。 run.shから次のコマンドを使用して.tsコードを変換します。
./node_modules/.bin/tsc --sourcemap --module commonjs ./bin/www.ts
これは宣伝どおりに機能しますが、tsconfig.jsonファイルとtsc -p .
を使用することをお勧めします。ただし、そのコマンドを実行すると、tsc
(誤って?)を試行するとTS2300: Duplicate identifier 'foo' errors
が大量に発生します。 ./node_modules
および./typings
ディレクトリをウォークします。以下は私が使用しているtsconfig.jsonです:
{
"compilerOptions": {
"target": "ES5",
"module": "commonjs",
"moduleResolution": "node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"removeComments": false,
"noImplicitAny": false
},
"exclude": [
"node_modules",
"typings"
]
}
何か案は?私はtsc1.7.3FWIWを使用しています。
やった:
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 .
そしてそれは私にうまくいきます-つまり、エラーはありません。
私はちょうど同じ問題を抱えていました。髪を約30分間抜くと、次のことがわかりました。
"target": "ES5",
に
"target": "ES6",
すべてのエラーがなくなります!
誰もが理由を知っていますか?!?
同様に、私はnode_modules
の除外に問題がありました。
compilerOptions
に追加しました:
"compilerOptions": {
"skipLibCheck": true,
...
}
この問題が発生し、exclude
は次のようになりました。
"exclude": [
"node_modules",
"typings"
]
"typings"
を削除すると、機能しました。私にとっての最終的な解決策:
"exclude": [
"node_modules"
]