何が間違っているのか分かりません。トランスピレーションとバベルについて話している他のフォーラムをチェックしました。私は何をしなければなりませんか?
node -v
v5.5.0
私のコード:
import recast from 'recastai'
そしてエラー
(function (exports, require, module, __filename, __dirname) { import recast from 'module1'
^^^^^^
SyntaxError: Unexpected token import
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:387:25)
at Object.Module._extensions..js (module.js:422:10)
at Module.load (module.js:357:32)
at Function.Module._load (module.js:314:12)
at Function.Module.runMain (module.js:447:10)
at startup (node.js:139:18)
at node.js:999:3
ES6インポートは最近導入された機能であり、Nodeの現在の安定バージョンではまだサポートされていません。 Node.js課題トラッカーには 未解決の問題 があります-ただし、V8およびNodeがこの機能のサポートを追加するまでは、トランスパイラーを使用する必要があります(最も一般的なものは- babel )インポートを使用できるようにします。
トランスピレーションをすばやく試すために、babelはWebベースのREPLを提供しています。 この1つ は、コードが変換されることを示しています。
babel project homepage は、Babelの使用を開始し、開発ワークフローと統合するための関連リソースを示しています。
最も簡単なセットアップについては、この セットアップページ にアクセスし、Babel組み込みセクションでCLIを選択してください。
これには基本的に3つの簡単な手順が含まれます。
npm install --save-dev babel-cli babel-preset-es2015
.babelrc
構成ファイルを作成します:echo '{ "presets": ["es2015"] }' > .babelrc
./node_modules/.bin/babel src -d lib
前述のセットアップページでは、npmスクリプトを追加して最後の手順を簡素化する方法も示しています。あるいは、変更時にファイルが自動的にコンパイルされるように、babelをエディターまたはビルドチェーンに統合することができます。
バベルに対処したくない場合に。これは私のために働いた。
const calc = require('./my_calc');
let {add, multiply} = calc;
1)最新のプリセットをインストールする
yarn add --dev babel-preset-latest
2).babelrc
を作成し、以下を追加します
{
"presets": ["latest"]
}
3)スクリプトを実行する
npx babel-node yourscript.js
または、package.json
ファイルに追加します
"scripts": {
"start": "babel-node index.js"
}
この問題を解決するのは非常に簡単です。import
はES6構文であり、Nodeはサポートが困難です。トランスパイラーとしてBabelを追加し、パッケージに移動する必要があります。 jsonと以下を追加
最初に、トランスコード用のJSコードを実行しながらbabelを使用するスクリプトタグを追加します。
"scripts": {
"start": "nodemon ./app.js --exec babel-node -e js"
}
そして、以下をBabel devDependenciesとして追加します
"devDependencies": {
"babel-cli": "^6.26.0",
"babel-preset-es2015": "^6.24.1",
"babel-preset-stage-0": "^6.24.1"
}
この後、babelプリセットファイルも構成する必要があります。したがって、ルートディレクトリに。babelrcファイルを作成し、次のようにプリセットを定義します。
{
"presets": [
"es2015",
"stage-0"
]
}
最後にnpm install
を行うことを忘れないでください
入門
最初にbabel-cliをインストールします。
$ npm install --save-dev babel-cli
いくつかのプリセットとともに。
$ npm install --save-dev babel-preset-es2015 babel-preset-stage-2
package.json:
"scripts": {
"start": "babel-node index.js --presets es2015,stage-2"
}
実行:
$ npm start
nodemonでファイルの変更を監視する:
Nodemonを使用してnpm起動スクリプトを改善できます。
$ npm install --save-dev nodemon
その後、npm startスクリプトを更新できます。
package.json:
"scripts": {
"start": "nodemon index.js --exec babel-node --presets es2015,stage-2"
}
実行:
$ npm start
pm2を使用している場合、次の手順に従います。
$ pm2 start app.js --interpreter babel-node
NodeJSの機能強化提案 のおかげで、先に進む道があります。使用できます @standard-things/esm
ここで お知らせを見つけます 単に実行します
npm i --save @std/esm
あなたのパッケージに今日。