首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对象不支持边缘上的属性或方法“匹配”

对象不支持边缘上的属性或方法“匹配”
EN

Stack Overflow用户
提问于 2017-08-04 17:17:44
回答 1查看 2.4K关注 0票数 0

我用gulp和babel把ES6转录成ES5。这是我的代码:

gulpfile.babel.js

代码语言:javascript
复制
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

代码语言:javascript
复制
"devDependencies": {
    "babel-core": "*",
    "babel-plugin-transform-runtime": "*",
    "babel-preset-es2015": "*",
    "gulp": "*",
    "gulp-babel": "*",
  }

.babelrc

代码语言:javascript
复制
{
  "presets": [
    "es2015"
  ],
  "plugins": ["transform-runtime"]
}

除了IE11和边缘之外,每种浏览器都能正常工作。

IE11有错误:

“‘Symbol”未定义

边缘有错误:

对象不支持属性或方法“匹配”

我希望将这个插件"plugins": ["transform-es2015-typeof-symbol"]添加到.babelrc文件中将解决“符号”是一个未定义的问题,但不是!

我是不是错过了一些特殊的设置或转换插件的babel?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-04 17:46:33

您需要从CDN加载https://cdnjs.com/libraries/babel-polyfill,因为您没有使用模块绑定器。我就会掉下来

代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-polyfill/6.23.0/polyfill.min.js"></script>

在其他JS文件之前进入您的页面。

至于您对matches的错误,您必须通过查看代码来判断。使用Element#matches的代码不会在较早的IE版本上工作,因为该方法要么不存在,要么使用不同的名称。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45512328

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档