一:版本升级

首先说明一下这里的dva是最新版: 2.3.2

1.初始化项目构建

npm install dva-cli -g
dva -v
dva-cli version 0.9.

注:通过 npm 安装 dva-cli 并确保版本是 0.9.1 或以上。

dva new dva-test

这会创建 dva-test 目录,包含项目初始化目录和文件,并提供开发服务器、构建脚本、数据 mock 服务、代理服务器等功能。

然后我们 cd 进入 dva-test 目录,并启动开发服务器:

 cd dva-test
npm start

在浏览器里打开 http://localhost:8000 ,你会看到 dva 的欢迎界面。

目录结构是这个样子:

2.使用 antd

 npm install antd babel-plugin-import --save

编辑 .webpackrc,使 babel-plugin-import 插件生效。

{
"entry": "src/entry/*.js", // 入口文件
"extraBabelPlugins": [
["import", { "libraryName": "antd", "style": true }]
]
}

现在让我们看下package.json的依赖:

注:标注的部分,是后来装的依赖,其他的就是构建项目和装antd的时候,装的依赖包,可以看到它们的版本都是高版本的.

3.配置其它项目所需的依赖

1.安装babel-polyfill

npm install babel-polyfill --save

脚本头部引入:

import 'babel-polyfill';// 或者require('babel-polyfill');

注:提示:polyfill指的是“用于实现浏览器不支持原生功能的代码”

Babel默认只转换新的JavaScript句法(syntax),而不转换新的API,比如Iterator、Generator、Set、Maps、Proxy、Reflect、Symbol、Promise等全局对象,以及一些定义在全局对象上的方法(比如Object.assign)都不会转码。

举例来说,ES6在Array对象上新增了Array.from方法。Babel就不会转码这个方法。如果想让这个方法运行,必须使用babel-polyfill,为当前环境提供一个垫片。

2.安装axios

npm install  axios --save

脚本头部引入:

import axios from 'axios';

// Make a request for a user with a given ID
axios.get('/user?ID=12345')
.then(function (response) {
// handle success
console.log(response);
})
.catch(function (error) {
// handle error
console.log(error);
})
.then(function () {
// always executed
});

3.安装console-polyfill

npm install --save console-polyfill;

脚本头部引入:

import 'console-polyfill';

4.安装crypto-js

npm install crypto-js --save

脚本引入:

项目中用到了MD5加密方式

import MD5 from 'crypto-js/md5';
console.log(
     MD5('mima').toString();
);

关于:crypto-js有很多详看:https://github.com/brix/crypto-js

5.安装dva-loading

npm install dva-loading --save

用法:

import createLoading from 'dva-loading';

const app = dva();
app.use(createLoading());

6.安装图表

npm install echarts-for-react  echarts --save

注:用到图表就可以安装,用不到就没有必要

7.再看一下所装的包

8.项目实例

可前往GitHub,自行下载

gitHub:     https://github.com/ght5935/dva

react+dva+antd项目构建的更多相关文章

  1. 基于webpack+react+antd 项目构建

    工欲善其事必先利其器,学习React也是如此. 下面分享一篇基于webpack+react+antd 项目构建的好文章, https://blog.hduzplus.xyz/articles/2017 ...

  2. React学习笔记---项目构建

    简介 ReactJs由于有FB的支持,得到了社区的极大关注,同时由于ReactJs只希望专一的做好View层次上的工作,所以本身并没有涉及很多周边工具. 今天要介绍一款工具,同时包含一个构建项目模板的 ...

  3. react+dva+antd+umi项目建立操作流程及知识点总结

    0.1 引用 0.1.1 react官网 0.1.2 dva官网 0.1.3 antd-mobile官网 0.1.4 umijs官网 0.1.5 转载文章-umi操作手册 一.what are the ...

  4. React + Dva + Antd + Umi 概况

    Dva 由阿里架构师 sorrycc 带领 team 完成的一套前端框架,在作者的 github 里是这么描述它的:"dva 是 react 和 redux 的最佳实践". Ant ...

  5. react+dva+antd/antd-mobile

    github仓库pc: https://github.com/llcMite/react-dva-antd.git github仓库mobile:https://github.com/llcMite/ ...

  6. 12 步 30 分钟,完成用户管理的 CURD 应用 (react+dva+antd)

    Getting Started https://github.com/dvajs/dva/blob/master/docs/GettingStarted.md -------------------- ...

  7. Umi + Dva + Antd的React项目实践

    记录一下最近项目所用到的技术React + Dva + Antd + umi ,以免忘记.之前没有用过它们其中一个,也是慢慢摸索,了解数据整个流程. 先了解下概念 React 不多说,3大框架之一: ...

  8. 使用 dva + antd 快速开发react应用

    使用 dva + antd 快速开发react应用 版本说明: 注意:dva的版本是0.9.2 $ node -v v10.2.1 $ npm -v $ dva -v dva-cli version ...

  9. 《React+Redux前端开发实战》笔记1:不涉及React项目构建的Hello World案例

    本小节实现一个不涉及项目构建的Hello World. [React的第一个Hello World网页] 源码地址:https://jsfiddle.net/allan91/2h1sf0ky/8/ & ...

随机推荐

  1. 03、操作RDD(transformation和action案例实战)

    1.transformation和action介绍 Spark支持两种RDD操作:transformation和action.transformation操作会针对已有的RDD创建一个新的RDD:而a ...

  2. Python 汉字转拼音

    本文参考: Python中文转拼音代码(支持全拼和首字母缩写) 中文中不可以有“()” # -*- coding: utf-8 -*- __version__ = '0.9' __all__ = [& ...

  3. SpringBoot(十三):springboot2.0.2定时任务

    使用定义任务: 第一步:启用定时任务第二步:配置定时器资源等第三步:定义定时任务并指定触发规则 1)启动类启用定时任务 在springboot入口类上添加注解@EnableScheduling即可. ...

  4. 主流浏览器Css&js hack写法

    参考: BROWSER HACKS 主流浏览器的Hack写法

  5. jenkins获取git上的源码

    jenkins获取git上的源码会遇到三种情况,我们在这里会分别介绍一下: 一.获取git上public(公有)的项目 只需配置仓库的URL即可 jenkins下使用git获取源码的配置方法 二.获取 ...

  6. JAVA_HOME环境配置

    JAVA_HOME指明JDK安装路径,就是刚才安装时所选择的路径D:\java\jdk1.5.0_08 Path使得系统可以在任何路径下识别java命令,设为:%JAVA_HOME%\bin;%JAV ...

  7. 关于CALayer导致的crash问题

    push到一个页面进行绘图时,设置如下: CALayer * layer = [CALayer layer]; layer.frame = CGRectMake(, , , ); layer.dele ...

  8. 面经 cisco

    1. 优先级反转问题及解决方法 (1)什么是优先级反转 简单从字面上来说,就是低优先级的任务先于高优先级的任务执行了,优先级搞反了.那在什么情况下会生这种情况呢? 假设三个任务准备执行,A,B,C,优 ...

  9. Linux内核剖析(三)构建源码树

    linux源码树结构 参考 http://www.360doc.com/content/13/0410/17/7044580_277403053.shtml 目录 描述 arch 目录包括了所有和体系 ...

  10. amqp笔记

    1.exchange message的生产者可以将消息发送给exchange,然后由exchange路由到不同的queue中. exchange有4种类型: direct exchange:msg只会 ...