dva开发一个cnode网站(1)

news/2024/4/28 14:55:34/文章来源:https://blog.csdn.net/weixin_34194551/article/details/88688467
dva 首先是一个基于 redux 和 redux-saga 的数据流方案,然后为了简化开发体验,dva 还额外内置了 react-router 和 fetch,所以也可以理解为一个轻量级的应用框架。

本教程是利用cnode的开放api来做一个一样的网站,以此来学习dva框架的使用。写的不好的地方还请多多包涵,大家一起学习。

1.搭建工程

安装 dva-cli

$ npm install dva-cli -g
$ dva -v
dva-cli version 0.9.1

创建新应用

$ dva new cnode

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

$ cd cnode
$ npm start

几秒钟后,你会看到以下输出:

Compiled successfully!The app is running at:http://localhost:8000/Note that the development build is not optimized.
To create a production build, use npm run build.

这样我们的cnode的应用就创建好了
首页

2.了解目录

项目目录

  • mock 产生假数据
  • node_modules 项目依赖的第三方库
  • public 放单页面模板文件,相当于访问的首页面
  • src 开发目录
  • src/assets 静态资源文件
  • src/components 公共组件
  • src/models 每个业务中处理的数据(state)
  • src/routes 路由对应的页面
  • src/services 业务逻辑处理
  • utils 工具类

3.修改首页

现在我们要换掉欢迎页,去做我们自己的布局

打开routes/IndexPage.js 修改代码

import React from 'react';
import { connect } from 'dva';function IndexPage() {return (<div ><h1>Hello, this is cnode web site</h1></div>);
}IndexPage.propTypes = {
};export default connect()(IndexPage);

删除routes/IndexPage.css

运行命令

npm start

修改后的首页

4.加入antd ui库

通过 npm 安装 antd 详见 repo和 babel-plugin-import 。babel-plugin-import 是用来按需加载 antd 的脚本和样式的,详见 repo

$ npm install antd babel-plugin-import --save

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

{"extraBabelPlugins": [["import", { "libraryName": "antd", "libraryDirectory": "es", "style": "css" }]]
}

5.使用antd创建头部公共组件

在components下创建Header.js

import React from 'react';
import { Menu, Icon, Input } from 'antd';
import PropTypes from 'prop-types';const Search = Input.Search;
const Header = ({dispatch,keys}) => {function handleClick(e) {console.log(e.key)}return (<div><MenuonClick={handleClick}selectedKeys={keys}mode="horizontal"><Menu.Item key="node" disabled><Icon type="tag" />CNODE</Menu.Item><Menu.Item key="search"><Searchplaceholder="input search text"onSearch={value => console.log(value)}enterButton/></Menu.Item><Menu.Item key="index"><a href="/"><Icon type="appstore" />首页</a></Menu.Item><Menu.Item key="into"><a href="#/into"><Icon type="appstore" />新手入门</a></Menu.Item><Menu.Item key="api"><a href="#/api"><Icon type="appstore" />API</a></Menu.Item><Menu.Item key="about"><a href="#/about"><Icon type="appstore" />关于</a></Menu.Item><Menu.Item key="reg"><a href="#/reg"><Icon type="appstore" />注册</a></Menu.Item><Menu.Item key="login"><a href="#/login"><Icon type="appstore" />登录</a></Menu.Item></Menu></div>);
};Header.propTypes = {keys: PropTypes.array.isRequired
};export default Header;

在routes/IndexPage.js中使用公共组件

import React from 'react';
import { connect } from 'dva';
import Header from '../components/Header';
function IndexPage() {return (<div ><Header keys={['index']}/><h1>Hello, this is cnode web site</h1></div>);
}IndexPage.propTypes = {
};export default connect()(IndexPage);

效果:
头部
下节课接着搞。
欢迎关注我的公众号 mike啥都想搞,回复react免费领取视频教程。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_717477.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jq点击事件多次响应_营销型网站建设与响应式网站建设有什么区别?

除专业人士&#xff0c;普遍人对网站的种类区分概念都是很模糊的&#xff0c;只想着我想做一个网站&#xff0c;或是我想做一个很炫的网站&#xff0c;再或是我想做个网站帮助提高公司业绩。然而网站本身并没有区别&#xff0c;无论是标准型网站、营销型网站或是品牌型网站&…

前嗅ForeSpider教程:同一个网站中从另一页面采集数据

2019独角兽企业重金招聘Python工程师标准>>> 以图中网站的企业动态部分为入口地址&#xff0c;来展示如何在同一个网站从另一页面采集相关数据。 第一步&#xff1a;新建任务 ①点击左上角“加号”新建任务&#xff0c;如图1&#xff1a; 【图1】 ②在弹窗里填写采集…

web服务之Nginx网站服务

目录一、关于Nginx二、编译安装Nginx服务1、关闭防火墙2、安装依赖包3、创建运行用户、组4、编译安装Nginx5、检查、启动、重启、停止 nginx服务三、认识Nginx服务的主配置文件 nginx.conf1、编辑主配置文件2、全局配置3、HTTP 配置一、关于Nginx 一款高性能、轻量级Web服务软…

一个使用Ruby on Rails开发LBS网站的简单实例

一个使用Ruby on Rails开发LBS网站的简单实例 cheungmine 2011-7 这几天一直在学习使用Ruby on Rails(RoR)&#xff0c;想建立一个功能全面一点的LBS(Location Based Service)网站。但是对于我这个RoR的初学者&#xff08;仅有几天时间&#xff09;来说&#xff0c;毕竟太复…

大型网站技术架构(七)网站的可扩展性架构

2019独角兽企业重金招聘Python工程师标准>>> 扩展性是指对现有系统影响最小的情况下&#xff0c;系统功能可持续扩展或提升的能力。 设计网站可扩展架构的核心思想是模块化&#xff0c;并在此基础上&#xff0c;降低模块间的耦合性&#xff0c;提供模块的复用性。模…

大型网站技术架构(四)网站的高性能架构

2019独角兽企业重金招聘Python工程师标准>>> 网站性能是客观的指标&#xff0c;可以具体体现到响应时间、吞吐量、并发数、性能计数器等技术指标。 1、性能测试指标 1.1 响应时间 指应用执行一个操作需要的时间&#xff0c;指从发出请求到最后收到响应数据所需要的时…

eclipse jsp没有提示_JSP+Spring+SpringMVC+Hibernate+Mysql实现的校园失物招领网站

项目简介项目来源于&#xff1a;https://github.com/wenlongup/LostAndFound因源github仓库无数据库文件&#xff0c;经过本人修改&#xff0c;现将该仓库重新上传至个人gitee仓库。张有路/LostAndFound​gitee.com本系统基于JSPSpringSpringMVCHibernateMysql的校园失物招领网…

asp网站短信api服务器,asp程序调用短信接口源码

asp程序调用短信接口源码更多作者:捷信通来源:www.jiexintong.cn日期:2014-07-31 17:59:31现在很多启用还在使用asp程序&#xff0c;我们技术总结出了asp程序调用短信接口源码例子&#xff0c;请参考&#xff0c;如果有疑问&#xff0c;欢迎各位客户联系我们&#xff1a;企业QQ…

域名+解析+GitHub来搭建自己的个人网站

域名解析GitHub来搭建自己的个人网站 标签&#xff1a; GitHub使用技巧 网站搭建 版权声明&#xff1a;本文为 icurious 的原创文章&#xff0c;可以转载&#xff0c;但请务必注明作者和出处&#xff01;&#xff01;&#xff01; 原文链接&#xff1a;www.blankspace.cn 摘…

coursera网站课程视频无法播放?

本人为win10系统&#xff0c;在coursera网站修了几门课程&#xff0c;发现无法查看课程视频。 尝试解决一下&#xff1a; 1. 以管理员身份打开记事本 2. 在记事本中打开系统hosts文件 TIP&#xff1a;一般在C:\Windows\System32\drivers\etc 路径下 3. hosts文件中最后一…

屏蔽网站广告的Chrome谷歌浏览器插件推荐和下载地址

推荐插件&#xff1a; AdGuard AdBlockerAdvertising TerminatorAdBlockAdblock Plus 下载地址&#xff1a; Chrome插件下载官方下载

解决 python 向网站请求数据出现 check_hostname requires server_hostname 错误

问题背景 更新了python的一些库后&#xff0c;发现原来能用的爬虫现在不能用了&#xff0c;尴尬。然后网上找了一下&#xff0c;发现是更新库造成的&#xff0c;check_hostname requires server_hostname 错误 是由于新版本的 urllib3 而出现的&#xff0c;一个简单的解决办法是…

给网站添加建站时长的js代码

背景 老板让我给他写个人主页&#xff0c;然后用到了这个东西&#xff0c;记录下 代码 <!--这是html代码&#xff0c;放在你想显示建站时间的地方&#xff0c;样式啥的自己改就行--> <span id"sitetime" style"color: rgb(248, 247, 247);">…

给网站添加访问地图3d版,平面版

背景 给老板写个人主页的时候用到的&#xff0c;记录下 效果展示 3D版 平面版 实现 打开 https://clustrmaps.com/site/1bf58&#xff0c;创建一个小部件 输入你要统计的网站地址 选择你要那个版本的 3D版&#xff0c;右边那个 点进去有相应的js代码&#xff0c;复制就行…

利用不蒜子统计网站的访问量

背景 给老板写个人主页&#xff0c;用到了记录下 代码 <head><script type"text/javascript" src"https://busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script> </head><body><div style"color:…

php制作小米网页版,基于LNMP的小米电商网站搭建——运维实战手记第一篇

分享一篇文章&#xff0c;来自马哥教育学员阿龙。总项目流程图&#xff0c;详见Linux运维企业架构实战系列 - 阿龙along - 博客园实战一&#xff1a;搭建lnmp及类小米等商业网站的实现环境&#xff1a;关闭防火墙&#xff0c;selinux1、安装包&#xff0c;开启服务yum -y insta…

h5实现网页内容跟随窗口大小移动_H5网站建设设计有哪些优势?

近些年随着h5网站建设的普及&#xff0c;越来越多的网站采用这一建站方案。h5网站建设有什么优势呢&#xff1f;今天小编和各位来聊聊h5网站建设的优势。随着Flash的终结&#xff0c;h5技术取代了Flash在移动设备中的地位&#xff0c;成为移动平台的唯一标准。在HTML5的应用场景…

vba获取正在运行网站的源码_早日学习VBA,早日上手VBA,早日受益VBA

在平台上&#xff0c;我讲解VBA已经有一年多了,有些朋友能理解VBA的可用之处&#xff0c;但仍有人不断在问:VBA可以做什么呢?应用VBA有什么好处呢&#xff1f;确实&#xff0c;很多的朋友在职场中久了&#xff0c;延续着前人的习惯&#xff0c;有些时候应该改一下了&#xff0…

电子商务网站建设策划书服装_分享:服装设计/服饰公司企业网站(官网)建设制作策划方案...

分享&#xff1a;服装设计/服饰公司企业网站(官网)建设制作策划方案&#xff01;随着市场经济的发展&#xff0c;我国的服装企业开始由卖方市场转为买方市场&#xff0c;各个品牌为了生存开始在这个市场中厮杀&#xff0c;较以往相比&#xff0c;现在企业的利润率逐渐下降&…

winscp远程访问服务器运行代码没有图片_软卓学堂 | 从购买服务器和域名到搭建网站...

◆ ◆ ◆ ◆从购买服务器和域名到搭建网站◆ ◆ ◆ ◆使用工具&#xff1a;Xshell终端模拟器&#xff1a;Xshell是一个终端模拟软件&#xff0c;而且是远程近程都可以。就是模拟服务器所在的linux&#xff0c;在xshell中可以输入命令&#xff0c;就像在服务器的linux中输入命令…