質問:import
の代わりにrequire
を使用して=>
を使用できるようにES6でgulpファイルを作成するにはどうすればよいですかfunction()
上の構文?
io.jsを使用するか、任意のバージョンのノードを使用できます。
gulpfile.js:
import gulp from "./node_modules/gulp/index.js";
gulp.task('hello-world', =>{
console.log('hello world');
});
エラー:
import gulp from "./node_modules/gulp/index.js";
^^^^^^
SyntaxError: Unexpected reserved Word
gulp.task('hello-world', =>{
^^
SyntaxError: Unexpected token =>
node_modules/gulp/bin/gulp.js
の中では、この stack で尋ねられているように、最初の行を#!/usr/bin/env node --harmony
に変更しました
はい、 babel を使用してできます。
Gulp-cliの最新バージョンがあることを確認してください。
npm install -g gulp-cli
プロジェクトの依存関係としてbabelをインストールします。
npm install --save-dev babel
gulpfile.js
の名前をgulpfile.babel.js
に変更します
Gulpfileは次のようになります。
import gulp from 'gulp';
gulp.task('default', () => {
// do something
});
Babel 6.0+のアップデートEric Bronniman が正しく指摘しているように、これを機能させるためにいくつかの追加手順があります最新バージョンのbabelで。これらの指示は次のとおりです。
繰り返しますが、最新バージョンのgulp-cliがあることを確認してくださいnpm install -g gulp-cli
次に、gulp、babel core、およびes2015プリセットをインストールしますnpm install --save-dev gulp babel-core babel-preset-es2015
次に、以下を.babelrcファイルまたはpackage.jsonに追加します
"babel": {
"presets": [
"es2015"
]
}
gulpfile.js
はgulpfile.babel.js
という名前にする必要があります
Node.js v4.0.0で多くの/ほとんどのES6機能をbabelなしで使用できるようになりました。ただし、明らかに「インポート」はまだサポートされていません。参照: https://nodejs.org/en/docs/es6/
Edit:ほとんどの一般的なES6機能(構造化と拡散を含む)はNodeJS 5.0でデフォルトでサポートされています(上記のリンクを参照)。私の知る限り、ES6モジュールのようです。
babel-node
とネイティブgulp
を使用します。
babel
およびgulp
をdevDependenciesとしてインストールします。gulpfile.js
をES6構文で記述します。./node_modules/.bin/babel-node ./node_modules/.bin/gulp
コマンドを使用して、gulpを実行しますscripts
セクションでは、最初の./node_modules/.bin/
部分をbabel-node ./node_modules/.bin/gulp
としてスキップできます。この方法の利点は、node.jsがいつかES6のすべての機能をサポートするときに、babelランタイムをオプトアウトするために必要なのは、babel-node
をnode
に置き換えることだけです。以上です。
基本的に、npm
を使用してインストールする必要があるのは、gulp
、gulp-babel
、およびbabel-resent-env
です。.babelrc
プリセット配列に「env」を追加し、使用しますgulpfile.babel.jsファイル。
npm install gulp-babel --save-dev
いくつかの答えはbabel-core
、babel-preset-es2015
などに言及しました。バベルの役人セットアップガイドとGulpはgulp-babel
のみを使用しますが、gulp-babel
にはbabel-core
を含む依存関係モジュールがあるため、個別にインストールする必要はありません。
プリセットについては、プリセットを使用してBabelに実際に何かをさせる必要があります。これはPreset Envと呼ばれます。サポートされている環境に基づいて必要なBabelプラグイン。
npm install babel-preset-env --save-dev
および.babelrc
ファイル
{
"presets": ["env"]
}
Es6でgulpfileのコードを開発するための手順:
npm install gulp && Sudo npm install gulp -g
。gulp -v
npm install babel-core babel-preset-es2015-without-strict --save-dev
touch .babelrc
ターミナルで.babelrcファイルで、このコードを追加します
{ "presets": ["es2015-without-strict"] }
gulpfile.babel.jsという名前でgulp構成ファイルを作成しました
出来上がり!!! ES6でgulpの構成コードを作成できるようになりました。
Gulpの最新バージョンとGulp CLIを使用している場合は、Gulpfile.babel.js
を実行するだけで、デフォルトでBabelJSを使用してES6 gulpfileを理解および変換できます。
Gulpと同様に、devDependencies
の下にBabelJSトランスパイラーをインストールすることも重要です。
npm install --save-dev babel
また、このコンテキストでgulpを要求するために、index.js
をインポートする必要がないことに注意してください。
import gulp from 'gulp';