【react框架之dvajs】如何创建一个初始的dva项目工程

news/2024/11/9 0:38:45/

dvajs作为react的框架,一度火爆市场,只是新框架层出不穷,也是越做越成熟了,很多老的框架被淹没,使用的越来越少。dva框架还是有不少的公司有项目在使用!

dva项目的搭建步骤

在系统检测是否安装了dva,没有的话就会报错

在这里插入图片描述

全局安装dva

npm install dva-cli -g

检测dva的版本,验证是否安装成功

在这里插入图片描述

dva创建项目
在这里插入图片描述
在这里插入图片描述

npm start

在这里插入图片描述

运行效果

在这里插入图片描述

项目结构

在这里插入图片描述
目前,官网已经不在了,issue已经很久没人回复了,暂时无人在维护!!推荐我们使用UmiJS,我们可以先学习下他这个框架的原理,再去上手umijs就很快。

项目尝试

试着修改首页,可以看出大部分react的语法是通用的。

import React from "react";
import { connect } from "dva";
import styles from "./IndexPage.css";
import PropTypes from "prop-types";function IndexPage({ username, count }) {return (<div className={styles.normal}><h1 className={styles.title}>Yay! Welcome to dva!</h1><div className={styles.welcome} /><div className="demo-container">{username}<p>{count}</p></div></div>);
}IndexPage.defaultProps = {username: "admin",count: "10",
};IndexPage.propTypes = {username: PropTypes.string,count: PropTypes.number,
};export default connect()(IndexPage);

按提示信息,进行项目的对应配置修改,类型校验报错了,但是页面可以正常显示。还是需要按照要求来,不然后续打包会出现各种奇奇怪怪的报错。
在这里插入图片描述

引入antd报错解决办法

  • 添加配置
    在这里插入图片描述

  • 根据官方文档引入内置的antd,找不到报错的文件,
    在这里插入图片描述
    在这里插入图片描述

  • 原因是版本不匹配,降级处理就好。
    在这里插入图片描述

    在这里插入图片描述

      npm un antd
    
      npm  install antd@^4.24.2
    
  • 报错问题完美解决

在这里插入图片描述

文件指纹设置

在dva项目中,我们打包文件进行部署

npm run build

在这里插入图片描述
打包成功,但是文件没有自带hash指纹。

修改配置

// https://github.com/sorrycc/roadhog?tab=readme-ov-file#html
export default {extraBabelPlugins: [["import", { libraryName: "antd", libraryDirectory: "es", style: "css" }],],hash: true, //这里是文件打包的hash值,不是路由模式下的hash值html: {template: "./public/index.ejs",},
};

在这里插入图片描述
需要手动删掉没有指纹的配置。

参考配置文件github:https://github.com/sorrycc/roadhog


http://www.ppmy.cn/news/1545495.html

相关文章

基于YOLO11/v10/v8/v5深度学习的建筑墙面损伤检测系统设计与实现【python源码+Pyqt5界面+数据集+训练代码】

《------往期经典推荐------》 一、AI应用软件开发实战专栏【链接】 项目名称项目名称1.【人脸识别与管理系统开发】2.【车牌识别与自动收费管理系统开发】3.【手势识别系统开发】4.【人脸面部活体检测系统开发】5.【图片风格快速迁移软件开发】6.【人脸表表情识别系统】7.【…

架构师考试系列(8)论文专题:信息系统安全设计

摘要 2021年4月,我公司承接了一款健康养老系统项目,旨在提供以健康养老为核心的管理平台。本文探讨了如何在系统开发中贯彻安全优先原则,保障系统的安全性和保密性。系统包括健康档案、照护计划、服务审计、健康状况跟踪、费用管理等功能模块。我作为系统架构设计师,负责了…

try...catch 和then...catch的异同点分析

try…catch 和 then…catch 的异同点分析 在现代 JavaScript 编程中&#xff0c;异常处理和 Promise 的处理是非常常见的两种方式。try...catch 语句主要用于同步代码的异常处理&#xff0c;而 .then().catch() 是 Promise 中的异步处理方法。 1. 基础概念 1.1 try…catch …

PostgreSQL 安装 POSTGRES_FDW

PostgreSQL 安装 POSTGRES_FDW 插件 postgres_fdw 模块提供外部数据包装器 postgres_fdw 它可以用于访问存储在外部 PostgreSQL 服务器中的数据。 使用 postgres_fdw 访问外部数据需要做以下几点准备&#xff1a; 1、使用 CREATE extension 安装 postgres_fdw 扩展 2、使用 c…

考取无人机飞手执照,从事无人机吊运行业技术前景分析

随着科技的快速发展和行业的不断创新&#xff0c;无人机技术已经广泛应用于各个领域&#xff0c;尤其是在物流、建筑、救援等行业&#xff0c;无人机吊运技术因其低成本、高效率的特点&#xff0c;正在快速崛起。考取无人机飞手执照&#xff0c;成为无人机吊运行业的专业人才&a…

Git遇到“fatal: bad object refs/heads/master - 副本”问题的解决办法

Git遇到“fatal: bad object refs/heads/master - 副本”问题的解决办法 起源 让我们从一个常见的Git错误开始&#xff1a; fatal: bad object refs/heads/master - 副本这个错误提示通常意味着Git在引用&#xff08;ref&#xff09;中发现了不一致或损坏的数据。引用是Git用…

C++代码优化(二): 区分接口继承和实现继承

目录 1.引言 2.接口继承 3.实现继承 4.如何选择接口继承与实现继承 5.完整实例 6.总结 1.引言 在C中&#xff0c;区分接口继承和实现继承是一种良好的编程实践&#xff0c;有助于提高代码的可维护性、可读性和可扩展性。接口继承通常指的是从基类继承纯虚函数&#xff08…

【云岚到家】-day09-2-秒杀抢购

【云岚到家】-day09-2-秒杀抢购 4.3 抢券4.3.1 解决超卖问题1&#xff09;系统需求2&#xff09;什么是超卖问题3&#xff09;悲观锁与乐观锁4&#xff09;数据库行锁控制方案5&#xff09;Redis分布式锁方案6&#xff09;Redis原子操作方案 4.3.2 Redis原子操作方案1&#xff…