質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

gulp

gulpは、Node.jsをベースとしたタスク自動化ツールの一つ。ストリームでファイルを処理することが特徴です。CSSプリプロセッサの使用時のコンパイルや、CSS・JavaScriptファイルの圧縮・結合などを自動的に行うことができます。

Q&A

解決済

1回答

2130閲覧

gulp-babelでasync await記述を試すとエラーが起きる

Overrun

総合スコア18

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

gulp

gulpは、Node.jsをベースとしたタスク自動化ツールの一つ。ストリームでファイルを処理することが特徴です。CSSプリプロセッサの使用時のコンパイルや、CSS・JavaScriptファイルの圧縮・結合などを自動的に行うことができます。

0グッド

0クリップ

投稿2020/10/01 09:15

編集2020/10/01 09:18

windows環境にてgulp-babelを使用し、async-await記述によるAPI取得を試みていたのですが
chromeのコンソール上で下記エラーが発生し、変換できません。何か必要な設定が抜けているのでしょうか?

regeneratorRuntime is not defined

git-hubにて公開していますので宜しければお試しください。

github
https://github.com/oveRun777/sample

試したこと

圧縮前のコードを圧縮後のファイルにコピペし、読み込ませるとエラーは起きず、APIを取得できる
↑こちら試してみたので圧縮に問題があるのではないかと推測しました。

以下設定ファイル

.babelrcファイル
こちら"plugin"は文字色が違うのでたぶん機能していません。

gulp

1{ 2"presets": [ 3 [ 4 "@babel/preset-env", { 5 "targets": { 6 "node": "current" 7 } 8 } 9 ] 10], 11"plugins": [ 12 [ 13 '@babel/plugin-transform-runtime' 14 ] 15] 16}

gulpfile.babel.js

gulpmport

1import browserSync from 'browser-sync'; 2import sass from 'gulp-sass'; 3import uglify from 'gulp-uglify'; 4import rename from 'gulp-rename'; 5import babel from 'gulp-babel'; 6import imagemin from 'gulp-imagemin'; 7 8//sassのタスク設定 9gulp.task('sass', () => { 10 return gulp 11 .src('./working_dir/scss/*.scss') 12 .pipe(sass({outputStyle: 'expanded'}).on('error', sass.logError)) 13 .pipe(rename({extname: '.min.css'})) 14 .pipe(gulp.dest('./public_dir/css')); 15}); 16gulp.task('file', () => { 17 return gulp 18 .src('./working_dir/**/*.html') 19 .pipe(gulp.dest('./public_dir/')); 20}); 21gulp.task('babel', () => { 22 return gulp 23 .src('./working_dir/js/*.js') 24 .pipe(babel({ 25 "presets": ["@babel/preset-env"] 26 })) 27 .pipe(uglify()) 28 .pipe(rename({extname: '.min.js'})) 29 .pipe(gulp.dest('./public_dir/js')); 30}); 31 32gulp.task('imagemin', function() { 33 gulp.src('./working_dir/images/*') 34 .pipe(imagemin()) 35 .pipe(gulp.dest('./public_dir/images/')); 36}); 37 38//browser-syncのタスク設定 39gulp.task('serve', done => { 40 browserSync.init({ 41 server: { 42 baseDir: './public_dir', 43 index: 'index.html' 44 } 45 }); 46 done(); 47}); 48 49//ファイルの監視タスク設定 50gulp.task('watch', () => { 51 const browserReload = done => { 52 browserSync.reload(); 53 done(); 54 }; 55 gulp.watch('./public_dir/**/*', browserReload); 56 gulp.watch('./working_dir/**/*', gulp.series('file')); 57 gulp.watch('./working_dir/scss/*.scss', gulp.series('sass')); 58 gulp.watch('./working_dir/images/*', gulp.series('imagemin')); 59 // gulp.watch('./working_dir/js/*.js', gulp.series('lint')); 60 gulp.watch('./working_dir/js/*.js', gulp.series('babel')); 61}); 62 63gulp.task('default', gulp.series('serve', 'watch'));

圧縮、変換前ファイル:themdsse.js

javascript

1const USERS_API = "https://jsonplaceholder.typicode.com/users"; 2async function callApi() { 3 const res = await window.fetch(USERS_API); 4 const users = await res.json(); 5 console.log(users); 6} 7 8callApi();

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

GulpでBabelを使ったJavascriptをトランスパイルする環境を構築する

Gulpのバージョンが4系の場合には、gulp.task()が非推奨となっており、関数でタスクを記述する形になりますので、実際には下記のような形になります。

投稿2020/10/01 09:28

kuma_kuma_

総合スコア2506

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Overrun

2020/10/02 03:56

動かせました。ありがとうございます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問