某些浏览器在严格模式下不支持Const声明

时间:2017-07-24 19:44:18

标签: material-ui strict

当我在iOS iPhone 6模拟器(或我的物理iPad2)中运行我的应用时出现此错误:

SyntaxError: Unexpected keyword 'const'. Const declarations are not supported in strict mode.
=> reactBoilerplateDeps.dll.js:4088 

这导致is-in-browser包含jss模块:

export const isBrowser = typeof window === "object"
    && typeof document === 'object'
    && document.nodeType === 9;

export default isBrowser;

我正在使用这些套餐:

我该如何纠正?也许transform-es2015-block-scoping插件符合this question

该应用在我的物理 iPhone 6和桌面浏览器上正常运行,但在我的iPad2上运行不正常。

2 个答案:

答案 0 :(得分:1)

根据Can I Use,这已在[iOS] Safari 10中得到修复,因此您可以告诉那些遇到此问题的人,他们的浏览器不受支持,他们应该更新它,但这确实不是一个好的解决方案。

另请注意,当twig.js点击this issue时,他们的修正为declare with the var keyword instead of const,因此您可能应该submit a bug reportis-in-browser来解决此问题。

通过编辑找到var替换const的文件,尝试查看使用export const isBrowser ...关键字而不是const是否适合您,这也是一个好主意。 1}}与var。如果您决定提交错误报告,此信息将有所帮助,如果它确实有效,您可以使用您的修复创建其存储库的分支,并提交拉取请求。

答案 1 :(得分:0)

看起来is-in-browser未使用正确的babel设置构建。您可以尝试转到node_modules/is-in-browser并运行npm run build来重建它。