ノードJSを修正する方法 “構文エラー: 予期しないトークンのインポート” JavaScriptのモジュールを使用した場合

輸出モジュールへのノードのためには、各機能を割り当てる必要があります, オブジェクトまたは変数, それは、エクスポートする必要があり, modules.exportsオブジェクトのプロパティとして.

 

エクスポート

この例では、モジュールファイルがrobot.jsです. 各機能, 我々は彼らにエクスポートオブジェクトのプロパティを作成し、他のファイルに利用できるようにしたいオブジェクトまたは変数.

robot.js (モジュールファイル)

exports.sayHello =

(MSG) => console.log('Hello peeps!')


exports.hello = "こんにちは!"


exports.greetings =

  { 英語 : "こんにちは!",

    フランス語 : "もしもし!",

    スペイン語: "オラ!"

  }

 

インポート

ノードは、import文をサポートしていません。, したがって、古い関数はインポートするときに使用する必要が必要.

ここでは、robot.jsをインポート (注意: .jsが、必要に応じて必要と機能に取り残さすることができます) そして私たちは何に名前を付けることができますオブジェクトに割り当て. 私たちは、ロボットという名前を付けます. 私たちのロボットオブジェクトは現在robot.jsから私たちのエクスポートモジュールを保持しています

次のように我々はそれを使用することができます…

app.js (メインファイル)

constのロボットが必要=('./robot')


robot.sayHello()

console.log(robot.hello)

console.log(robot.greetings.french)

あなたのモジュールの変数を使用するときは、最初の行に選択したオブジェクト名を使用することを忘れないでください, 関数またはオブジェクト.

注意: ブラウザは必要と声明をサポートしていません。. したがって、あなたは、このようなバベルや、Browserifyなどバンドラとしてtranspilerを使用せずにブラウザで必要とインポートモジュールの機能を使用することはできません.

キャッチされないにReferenceError - OperaのWebブラウザのV51で定義されていない必要
JavaScriptでのモジュールのインポート機能は、Webブラウザでサポートされていないが必要です