我在尝试在智能电视浏览器中运行我的应用程序时遇到create-react-app
环境的大问题。
规范电视和浏览器(http://whatismybrowser.com)
这是我想要的:
create-react-app
项目yarn build
yarn global add serve && serve -s build
http://<my-lan-ip>:5000
上输入(5000端口作为serve
命令提供的默认端口)当我按照这些步骤操作时,我会得到一个空白页面。空白页面仅在电视浏览器中出现。在PC和手机上运行良好。
所以我想知道并在这里提出一些分享想法:
任何人都已经面临这个问题?任何解决方案或否,这是不可能的?
已编辑:解决方案
感谢@Rikin和@JoeClay,我想出了一个解决方案。首先,在下载Chrome版本23之后,我可以看到问题是polyfills(设置和映射)。
安装后yarn add core-js --dev
和yarn add raf --dev
。
更新 src / index.js
import 'core-js/es6/map'; // <-- added this line after installed packages
import 'core-js/es6/set'; // <-- added this line after installed packages
import 'raf/polyfill'; // <-- added this line after installed packages
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import registerServiceWorker from './registerServiceWorker';
ReactDOM.render(<App />, document.getElementById('root'));
registerServiceWorker();
此外,React Docs的部分有助于找到此解决方案。
答案 0 :(得分:3)
较新版本的React(v16 +)需要:
Map
和Set
数据结构window.requestAnimationFrame()
API 根据MDN,在版本38之前,基本Map和Set支持尚未添加到Chrome,您必须使用供应商前缀访问requestAnimationFrame
,直到Chrome 24 。
由于您的电视使用Chrome 23,因此您需要填充这些API。 React docs建议使用core-js
或babel-polyfill
来实现此目的。
答案 1 :(得分:1)
如果您的目标是让您的应用在智能电视上 运行,那么可以react-tv
看看https://github.com/raphamorim/react-tv