前の例はthis oneでした。現在のものはOverview/reachbz.ts(3,28): error TS2306: File 'typings/immutable-3.8.1.d.ts' is not a module.
typescriptのamdモジュールはどのように動作し、なぜエラーが発生するのですか
です。どのようにamdモジュールがtypescriptで動作するのか説明できますか?タイプコピーのページの情報を読んだ後、私はまだそれがどのように動作し、何がうまくいかないのか理解できません。
私は、エラーを再現するためにGitのレポを持っている:要求されたとして
git clone https://github.com/amsterdamharu/typescriptHorrors.git
` 。ここでのファイルは、以下のとおりです。
///<reference path="../typings/immutable-3.8.1.d.ts" />
import Immutable = require("typings/immutable-3.8.1");//error here
console.log("Immutable:",Immutable);
/typings/immutable-3.8.1.d.tsここ:https://github.com/facebook/immutable-js/blob/master/type-definitions/Immutable.d.ts
tsconfig.json:(vscode用)
{
"compilerOptions": {
"target": "es5",
"watch": false,
"module": "amd",
"removeComments": true,
"sourceMap": false,
"outDir": ".",
"rootDir": "."
}
}
task.json
{
"version": "0.1.0",
"command": "tsc.cmd",
"isShellCommand": true,
"showOutput": "always",
"problemMatcher": "$tsc"
}
これはWindowsマシン上で実行されますが、同じエラーでLinux上で自宅で試しました。 TSCノードを使用して:
[[email protected] ts]$ tsc
Overview/reachbz.ts(4,28): error TS2306: File 'typings/immutable-3.8.1.d.ts' is not a module.
コードをコンパイルし、requirejsで動作しますが、エラーはこれを出版から私を防ぎます。
それは私が本当に理解していない別のものです。 Typescriptはオプションで介入しているはずですが、Visual Studioではプロジェクトを公開できないように、警告(コンパイル後に有効なスクリプトを生成する)が必要なものをエラーにエスカレートします。
[UPDATE]
定義ファイルの内容を変更すると:
export var whatever
は、エラーが離れて行くします。
しかし、以下の内容は、エラーがdeclare module Immutable {}
declare module "immutable" {
export = Immutable
}
戻ってくることになりますがGitのレポをコンパイルすることができます誰もがありますか?これは、元不変のGitのレポ定義ファイルを使用していますが、私はそれはあなたのコードではバージョン1.8.10
それはで見つけることができたとしても、この問題の関連するコードや情報を記載してください:あなたが必要として渡された文字列を変更
作品:
に定義ファイルを変更しますあなたがリンクしたもう一つのスレッド。 –
@NitzanTomer要求に応じていくつかのコンテンツを追加しました。私は誰もがエラーなしでこれをコンパイルできるのだろうかと思います。型定義に何か問題があるようです。 – HMR