私はgulpとbabelを使ってES6をES5に転写しています。ここに私のコードは次のとおりです。オブジェクトはEdgeのプロパティまたはメソッド 'matches'をサポートしていません
gulpfile.babel.js
{
"presets": [
"es2015"
],
"plugins": ["transform-runtime"]
}
E .babelrc
import gulp from 'gulp';
import babel from 'gulp-babel';
gulp.src([appDir + 'js/**/*.js', '!' + appDir + 'js/{vendors,vendors/**}'])
.pipe(babel({
presets: ['es2015'],
plugins: ['transform-runtime']
}))
.pipe(gulp.dest(devDir + 'js'));
package.json
"devDependencies": {
"babel-core": "*",
"babel-plugin-transform-runtime": "*",
"babel-preset-es2015": "*",
"gulp": "*",
"gulp-babel": "*",
}
IE11とEdgeを除くすべてのブラウザでverythingがうまく動作します。
IE11はエラーがあります。
'Symbol' is undefined
エッジにエラーがあります:私は.babelrcファイルにこのプラグイン"plugins": ["transform-es2015-typeof-symbol"]
を追加すると、 'シンボル' を解決することを願ってい
Object doesn't support property or method 'matches'
は未定義問題ですが、ありません!
私はバベル用の特別な設定や変換プラグインがありませんか?
依存関係のリストに 'babel-plugin-transform-runtime'がありますが、あなたはBabelの設定でそれを有効にしていません。また、一般的に2つの質問を1つに入れるのは良い考えではありません。 'matches'の問題は、BabelやGulpやES6とはまったく関係ありません。 – loganfsmyth
私はコードを更新しましたが、新しいエラーが発生しました:ReferenceError:requireは定義されていません – quarky
あなたが示したビルドプロセスでは、 'import'と' export'を正しく処理するものはありません。ブラウザでモジュールのインポート/エクスポートをロードする場合は、Webpackを使用したいと思うでしょう。 – loganfsmyth