如何让 antd 与通过 create-react-app 创建的应用程序一起工作?
How to get antd working with app created via create-react-app?
我是 React 和 antd 的新手。
我使用 create-react-app 开始了一个新的 React 项目。我安装了 antd (ant.design).
我通过添加一个导入并将其添加到我的渲染中来试用 DatePicker,修改 App.js 如下:
import React, { Component } from 'react';
import logo from './logo.svg';
import './App.css';
import { DatePicker } from 'antd';
class App extends Component {
render() {
return (
<div className="App">
<div className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<h2>Welcome to React</h2>
</div>
<p className="App-intro">
To get started, edit <code>src/App.js</code> and save to reload.
</p>
<DatePicker/>
</div>
);
}
}
export default App;
在 Chrome 中似乎可行,尽管样式很奇怪。
在 IE11 中,它不会加载,因为 startsWith 函数调用(IE11 不支持 startsWith)。但是,ant.design 网站上的 DatePicker 演示可在 IE11 中运行。
似乎我缺少一些 polyfills/旧浏览器支持。如果我尝试进行生产构建并提供服务,它也会出现相同的错误。
要让 antd 在浏览器(例如 IE11)上使用通过 create-react-app 创建的应用程序,需要做些什么?
Create-react-app 不包含 polyfill。
我通过安装 core-js 并在 src/index.js
文件中导入我想要的 es6 模块来解决这个问题:
import 'core-js/es6';
您也可以只导入您想要的特定模块:
import 'core-js/es6/function';
我推荐第一个,因为您最终很可能会在整个应用程序中使用更多功能。
我是 React 和 antd 的新手。
我使用 create-react-app 开始了一个新的 React 项目。我安装了 antd (ant.design).
我通过添加一个导入并将其添加到我的渲染中来试用 DatePicker,修改 App.js 如下:
import React, { Component } from 'react';
import logo from './logo.svg';
import './App.css';
import { DatePicker } from 'antd';
class App extends Component {
render() {
return (
<div className="App">
<div className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<h2>Welcome to React</h2>
</div>
<p className="App-intro">
To get started, edit <code>src/App.js</code> and save to reload.
</p>
<DatePicker/>
</div>
);
}
}
export default App;
在 Chrome 中似乎可行,尽管样式很奇怪。 在 IE11 中,它不会加载,因为 startsWith 函数调用(IE11 不支持 startsWith)。但是,ant.design 网站上的 DatePicker 演示可在 IE11 中运行。
似乎我缺少一些 polyfills/旧浏览器支持。如果我尝试进行生产构建并提供服务,它也会出现相同的错误。
要让 antd 在浏览器(例如 IE11)上使用通过 create-react-app 创建的应用程序,需要做些什么?
Create-react-app 不包含 polyfill。
我通过安装 core-js 并在 src/index.js
文件中导入我想要的 es6 模块来解决这个问题:
import 'core-js/es6';
您也可以只导入您想要的特定模块:
import 'core-js/es6/function';
我推荐第一个,因为您最终很可能会在整个应用程序中使用更多功能。