2017-07-24 33 views
3

当我运行我在iPhone的iOS 6模拟器应用程序(或者是身体的iPad2)我得到这个错误:包括const声明不是在严格模式下支持某些浏览器

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上。

回答

1

根据Can I Use这在[iOS] Safari 10中得到了修复,因此您可能能够逃脱告诉遇到此问题的人不支持其浏览器,并且应该更新它,但这是真的不是一个好的解决方案

而且,请注意,当twig.jsthis issue,其修复是declare with the var keyword instead of const,所以也许你应该submit a bug reportis-in-browser这个问题。

这也将是一个好主意,尝试看看是否使用var关键字,而不是const为你工作,通过编辑您在哪里找到export const isBrowser ...var更换const文件。如果您决定提交错误报告,此信息将有所帮助,如果确实有效,您可以使用您的修复程序创建他们的存储库分支,并提交拉取请求。

+0

完美..感谢您的解释“我可以使用” –

0

看起来像is-in-browser没有建立正确的巴贝尔设置。您可以尝试去node_modules/is-in-browser并运行npm run build来重建它。

相关问题