当我在iOS iPhone 6模拟器(或物理iPad2(中运行我的应用程序时,我收到此错误:
SyntaxError: Unexpected keyword 'const'. Const declarations are not supported in strict mode.
=> reactBoilerplateDeps.dll.js:4088
这导致了jss
包含的is-in-browser
模块:
export const isBrowser = typeof window === "object"
&& typeof document === 'object'
&& document.nodeType === 9;
export default isBrowser;
我正在使用这些软件包:
- 材料-ui@v1.0.0-β.1
- 反应-boilerplate@v3.4.0
我该如何纠正?也许根据这个问题transform-es2015-block-scoping
插件?
该应用程序在我的物理iPhone 6和桌面浏览器上运行良好,但在我的iPad2上无法正常工作。
根据我可以使用吗,这在 [iOS] Safari 10 中得到了修复,因此您也许可以告诉遇到此问题的人他们的浏览器不受支持,他们应该更新它,但这真的不是一个好的解决方案。
另外,请注意,当 twig.js 遇到此问题时,他们的解决方法是使用var
关键字而不是const
进行声明,所以也许您应该向is-in-browser
提交错误报告。
尝试查看使用var
关键字而不是const
是否适合您也是一个好主意,方法是编辑您找到export const isBrowser ...
的文件以将const
替换为var
.如果您决定提交错误报告,此信息将有所帮助,如果它确实有效,您可以使用您的修复程序创建其存储库的分支,并提交拉取请求。
看起来is-in-browser
不是使用正确的 babel 设置构建的。您可以尝试转到node_modules/is-in-browser
并运行npm run build
来重建它。