我正在尝试使用babel polyfill启用对IE 11的支持。但是,运行npm run prod
后,生成的文件在浏览器中产生以下错误:
未捕获的ReferenceError:未定义require
这是app.es5.js
的开始,因此require
:
"use strict";var _regenerator=_interopRequireDefault(require("@babel/runtime/regenerator"));
看一下this stackoverflow anser,我的webpack.mix.js看起来非常准确。这是我的webpack.mix.js:
mix.js('resources/js/app.js', 'public/js')
.extract()
.babel(['public/js/app.js', 'public/js/vendor.js'], 'public/js/app.es5.js')
.sass('resources/sass/app.scss', 'public/css')
.sass('resources/sass/pdf.scss', 'public/css')
.version();
这是我的.babelrc:
{
"presets": [
[
"@babel/preset-env", {
"targets": {
"browsers": ["IE 11, last 2 versions"]
}
}
]
]
}
为什么我收到此错误?
原来是CKEditor引起了这个问题。评论这一行:import ClassicEditor from "@ckeditor/ckeditor5-build-classic";
解决了这个问题。
您可以阅读更多关于the CKEditor build process here的信息。