ノードプロジェクトはノードであり、CommonJSモジュールシステムを使用します。typescriptを使用したノードプロジェクトの優先モジュール構文
// Traditional Node Syntax
const _ = require('lodash');
// Using the import keyword instead of a variable declaration
import _ = require('lodash');
// ES2015 module syntax
import * as _ from 'lodash';
私は伝統的な構文でこだわりの考えていたが、私はかどうかを知りません。私はで混乱していると、私が同じことを行うには、次の構文のいずれかを使用することができるように思われるということですそうすることで何かを逃してしまった。
一つのことは、しかし、私は通知を行うことをあなたはimport
キーワードを使用している場合、に示すように見えるんですVS-コード、変数のスコープは、モジュール(の別名ではなく、一部の一部とみなされるべきであることをグローバルスコープ)、伝統的なシンタックスではそれほど賢明ではないようです。あなたはそれのように予想される「モジュールを見つけることができない」ので、「有望ヘルプ」が強調表示されていることがわかりますimport
バージョンで
:以下の違いに注意してくださいそこにはインタフェースや型付けがありません。
しかし、従来のアプローチでは、いくつかの強調表示された変数があり、いずれの場合も「ブロックスコープ変数を再宣言できません」ということに気をつけています。実際には、これらの変数が宣言されている他の場所が他のモジュール/ファイルにあるため、実際には矛盾がないので、実際には誤解を招くことになります。
可能であれば、ES2015の構文を使用します。私はノードでtypescriptを使い始めて同じ問題に遭遇しましたが、何らかの理由でES2015の構文が全く機能しなくなりました – Filype