ノードでES 6インポート構文を使用する方法.js
4448 ワード
モジュールは、1つ以上の値をエクスポートするJavaScriptファイルです.エクスポートされた値は、変数、オブジェクト、または関数です.
ES 6インポート構文は、異なるJavaScriptファイルからエクスポートされたモジュールをインポートすることができます.それは反応の向こう側にモジュールを使用して、ネイティブのアプリケーションに反応する一般的なパターンです.構文は以下のESモジュール標準から成ります:
このエラーの解決策は、上記のエラースニペットの最初の行にありますa recommend way by Node.js . 設定する
14より低いノードバージョンを使用する環境についてはどうですか
この問題のもう一つの解決策はBabel . JavaScriptコンパイラで、最新の構文を使用してjsを書くことができます.バベルは、フレームワークやプラットフォームではありません.これは、JavaScriptで、したがって、ノードで書かれるどんなプロジェクトにも使用できることを意味します.JSプロジェクトも.
次のdev依存関係をターミナルウィンドウからインストールします.
置換する
ノードサーバの実行例
ES 6インポート構文は、異なるJavaScriptファイルからエクスポートされたモジュールをインポートすることができます.それは反応の向こう側にモジュールを使用して、ネイティブのアプリケーションに反応する一般的なパターンです.構文は以下のESモジュール標準から成ります:
import XXX from 'xxx';
ESモジュールはモジュールで動作するecmascript規格です.ノード.JSはCommonJS標準を使ってモジュールをインポートします.このタイプの標準の構文は次のようになります.const XXX = require('xxx');
ノードjsはES 6インポートを直接サポートしません.試してみてくださいimport
JSファイルの構文// index.js
import { ApolloServer, gql } from 'apollo-server';
ノードを実行します.使用するJSサーバーnpm start
or npm run dev
次のエラーが発生します.このエラーの解決策は、上記のエラースニペットの最初の行にありますa recommend way by Node.js . 設定する
"type": "module"
インpackage.json
ファイル.{
"type": "module"
}
このソリューションは最新のノードで動作します.jsバージョン15.4.x
上記のバージョンでは14.x.x
.14より低いノードバージョンを使用する環境についてはどうですか
この問題のもう一つの解決策はBabel . JavaScriptコンパイラで、最新の構文を使用してjsを書くことができます.バベルは、フレームワークやプラットフォームではありません.これは、JavaScriptで、したがって、ノードで書かれるどんなプロジェクトにも使用できることを意味します.JSプロジェクトも.
次のdev依存関係をターミナルウィンドウからインストールします.
npm i -D @babel/core @babel/preset-env @babel/node
次に、ノードのルートにファイルを作成します.JSプロジェクトbabel.config.json
次の行を追加します.{
"presets": ["@babel/preset-env"]
}
パッケージ@babel/node
JISコードをノードでコンパイルするCLIユーティリティです.それを実行する前にバベルのプリセットとプラグインとJSのプロジェクト.これは、任意の構成の言及を読んで適用されることを意味babel.config.json
ノードプロジェクトを実行する前に.置換する
node
with babel-node
サーバを実行するにはstart
or dev
スクリプトノードサーバの実行例
npm run dev
スクリプト{
"scripts": {
"dev": "nodemon --exec babel-node server.js"
}
}
Cover image by Jake Weirick
Reference
この問題について(ノードでES 6インポート構文を使用する方法.js), 我々は、より多くの情報をここで見つけました https://dev.to/amanhimself/how-to-use-es6-import-syntax-in-node-js-3df2テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol