在IE 11和IE 10中,我在下面的行中出现无效字符错误:
if (!plugin.$element.attr(``data-${ pluginName }``)) {
我知道这是因为ES6不受支持,但我不知道如何解决这个问题。基金会已经包括了babel,我认为下面的这个脚本可以解决这个问题但是没有。
return gulp.src(PATHS.javascript)
.pipe($.sourcemaps.init())
.pipe($.babel())
.pipe($.concat('foundation.js', {
newLine:'\n;'
}))
.pipe($.if(isProduction, uglify))
.pipe($.if(!isProduction, $.sourcemaps.write()))
.pipe(gulp.dest('assets/javascript'))
.pipe(browserSync.stream());
});
这是Foundation附带的foundation.core.js文件中的问题。
要查看此问题,您可以导航到以下网址并在IE 11或10中加载它: http://b20.2c7.mwp.accessdomain.com/
有没有人对此有所解决?
答案 0 :(得分:2)
我很生气,因为这是一个实际的问题而得到了一次投票。
基金会应该为我做这个..
我通过重新安装的凉亭解决了问题,它工作得很好..奇怪..
答案 1 :(得分:1)
Internet Explorer 11不支持某些ES6功能。除了这些不受支持的还有模板文字。
请参见https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals 为了兼容性。
最好的方法是使用babel及其插件来转换模板文字。
安装babel插件
npm install --save-dev babel-plugin-transform-es2015-template-literals
在.babelrc的“插件”部分中添加它
// without options
{
"plugins": ["transform-es2015-template-literals"]
}
// with options
{
"plugins": [
["transform-es2015-template-literals", {
"loose": true,
"spec": true
}]
]
}
在gulpfile.babel.js中,请确保所有内容都是通过babel-loader进行解析的,因此请注释掉排除的文件(其中大多数与基础相关),以便通过babel-loader进行解析
因此,本示例中的文字如下:
`foo${bar}`;
会变成这样:
"foo" + bar;
查看更多:https://www.npmjs.com/package/babel-plugin-transform-es2015-template-literals