# ant-design-pro-landing-page 如何部署
现代的前端框架越来越复杂,一时半会儿没看懂怎么部署阿里的ant-design-pro-landing模板,摸索了一会儿,把过程记录下来
# 安装 node.js
- 从官网下载,安装后配置下环境变量
# 安装create-react-app
先安装 yarn
npm install -g yarn
安装后查询yarn版本,正常表示安装成功
yarn --version
配置yarn源为淘宝的源,速度快一些
yarn config set registry https://registry.npm.taobao.org -g
yarn config set sass_binary_site http://cdn.npm.taobao.org/dist/node-sass -g
```shell
### 创建项目
```shell
$ yarn create react-app antd-demo
# 引入 antd
yarn add antd
- 修改 src/App.js,引入 antd 的按钮组件。
import React from 'react';
import { Button } from 'antd';
import './App.css';
const App = () => (
<div className="App">
<Button type="primary">Button</Button>
</div>
);
export default App;
- 修改 src/App.css,在文件顶部引入 antd/dist/antd.css。
@import '~antd/dist/antd.css';
# 部署项目
我们直接将从 Landing 上下载的 Home 文件夹直接拷贝到 src 文件包里;
# 安装依赖
# 基本必要组件依赖
npm install antd enquire-js rc-queue-anim rc-scroll-anim rc-tween-one --save;
npm install rc-banner-anim --save;// 如果用的是多屏滑动型的 banner,加上这条;
npm install @ant-design/compatible --save;// 如果使用了 Content7 模块,请加上这条;
# 按需加载 ant design
npm install babel-plugin-import --save-dev;
# 配置 html scale
为更好的响应无线端的使用,Landing 需要你在你的 html 文件的 head 里配置以下代码:
<meta name="viewport" content="width=device-width, initial-scale=1.0">
# less 加载
npm install react-app-rewired customize-cra less less-loader
# 配置加载 less
安装完 less 加载 后, 我们还需要修改 package.json 里的启动配置。
/* package.json */
"scripts": {
- "start": "react-scripts start",
+ "start": "react-app-rewired start",
- "build": "react-scripts build",
+ "build": "react-app-rewired build",
- "test": "react-scripts test",
+ "test": "react-app-rewired test",
}
# 创建 config-overrides.js
然后在项目根目录创建一个 config-overrides.js 用于修改默认配置。
const { override, fixBabelImports, addLessLoader } = require('customize-cra');
module.exports = override(
// 按需加载 antd
fixBabelImports('import', {
libraryName: 'antd',
libraryDirectory: 'es',
style: true,
}),
// 添加加载 less 的 javascriptEnabled 和 antd 的主题配置。
addLessLoader({
lessOptions: {
javascriptEnabled: true,
modifyVars: { '@primary-color': '#1DA57A' },
}
}),
);
# 修改入口文件
更改的 src 里的 index.js 页面,打开 index.js,引入 Home 文件包并渲染。
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
- import App from './App';
+ import App from './Home';
import * as serviceWorker from './serviceWorker';
ReactDOM.render(<App />, document.getElementById('root'));
// If you want your app to work offline and load faster, you can change
// unregister() to register() below. Note this comes with some pitfalls.
// Learn more about service workers: http://bit.ly/CRA-PWA
serviceWorker.unregister();
完成以上步骤之后,我们再启动 npm start 即可查看在 landing 上下载的模板。