在 create-react-app 中使用

create-react-app 是业界最优秀的 React 相关应用开发工具之一,本文档尝试以此工具来使用 antd-mobile 组件。

安装和初始化

  1. $ npm install -g create-react-app
  2. # 注意:工具会自动初始化一个脚手架并安装 React 项目的各种必要依赖,如果在过程中出现网络问题,请尝试配置代理或使用其他 npm registry。
  3. $ create-react-app my-app
  4. $ cd my-app
  5. $ npm start
打开 http://localhost:3000/ 访问你的应用。

引入 antd-mobile

先参考 入口页面 (html 或 模板) 相关设置,配置你的项目 html 页面。

按需加载

  1. $ npm install react-app-rewired customize-cra --save-dev
  1. /* package.json */
  2. "scripts": {
  3. - "start": "react-scripts start",
  4. + "start": "react-app-rewired start",
  5. - "build": "react-scripts build",
  6. + "build": "react-app-rewired build",
  7. - "test": "react-scripts test --env=jsdom",
  8. + "test": "react-app-rewired test --env=jsdom",
  9. }
  • 然后在项目根目录创建一个 config-overrides.js 用于修改默认配置。
  1. module.exports = function override(config, env) {
  2. // do stuff with the webpack config...
  3. return config;
  4. };
  • 使用 babel-plugin-import, babel-plugin-import 是一个用于按需加载组件代码和样式的 babel 插件(原理),现在我们尝试安装它并修改 config-overrides.js 文件。
  1. npm install babel-plugin-import --save-dev
  1. + const { override, fixBabelImports } = require('customize-cra');
  2. - module.exports = function override(config, env) {
  3. - // do stuff with the webpack config...
  4. - return config;
  5. - };
  6. + module.exports = override(
  7. + fixBabelImports('import', {
  8. + libraryName: 'antd-mobile',
  9. + style: 'css',
  10. + }),
  11. + );
  • 更改引用方式
  1. - import Button from 'antd-mobile/lib/button';
  2. + import { Button } from 'antd-mobile';

完整的示例

css-moules自定义主题antd-mobile-sample/create-react-app