react-问卷星项目(1)

学习的一位MOOC老师的经验,记录一下学习的过程

本项目技术栈:React18+TS4+AntDesign5+Next.js13

项目:低代码,B/C

react官方文档

核心价值:

组件化:不是React原创,但在React中流行开来

数据驱动视图:定义好数据和UI的显示规则,即UI=f(state).只关注业务数据的修改,不用再操作DOM,增加开发效率。直接操作DOM风险大,容易影响性能等,vue也是同理。

开始

React常见脚手架

vite和webpack的区别

Create-React-App内部使用webpack打包

Vite既是构建工具,又是打包工具

  • Vite比CRA打包项目更快,快是因为使用了ES Module(仅开发环境)

ESModule

分别创建index.html文件和main.js文件,在index中导入main.js

确定是否下载了http-server,没有的话执行下面的命令下载,如果你还没有安装npm,可以先安装Node.js,它会自带npm。访问 node.js官网 下载并安装。使用Sudo是因为我没把npm配置到全局,在mac中进行操作需要权限)

sudo npm install -g http-server

下载完后,进入项目的根目录,用下面这段指令在指定端口(8881)启动

http-server -p 8881

可以看到控制台有输出。这是webpack传统的打包方式,会把所有内容打包成mean.js后一次性塞给html文件,vite可以把零散文件通过ES Modul引用,即export/import,webpack会将几个文件压缩到一起并打包,vite使用script的时候添加type="module"即可按需饮用,wenpack需要全部结合,计算需要时间,所以vite快

安装软件

  • node.js 使用国内的npm镜像,不使用国内的可能会慢(国内镜像)
  • VSC(Visual Studio Code)
  • 安装git

创建项目

Create-React-App

创建命令,这条是官方提供的,但我使用的时候莫名卡半天,也不报错,也没有进度。

npx create-react-app myApp

解决方法如下(非mac电脑可忽略sudo)

用npm下载和创建名为my-app的项目,首先项目名称中不能包涵大写字母,不然会报错,后缀--template typescript的意思是按照ts的模版进行创建,不然会默认为js语言

// 下载相关包
sudo npm install -g create-react-app

// 配置项目
create-react-app my-app --template typescript

在App.tsx文件中更改内容再重新保存可以更换启动项目时展示页面的内容。

Vite

官网创建指令

npm create vite@latest my-app -- --template react-ts

在App.tsx文件中更改内容再重新保存可以更换启动项目时展示页面的内容。

总结

选择Create-React-App

  • 是React官网推荐的
  • 时间更久,可查找资源更多
  • 要考虑稳定性,求稳不求新

配置编码规则

Prettier统一代码功能

在项目根目录执行下面的指令 --> package.json文件中查看是否成功添加devDependencies模块

npm i prettier eslint-config-prettier eslint-plugin-prettier --save-dev

添加成功后在vsc中搜索prettier插件,没有下载点击下载就行。

在package.json文件中,在scripts模块中添加如下语句,保存后使用第二句指令启动项目,会看到更改了相应操作的文件目录,即将单引号更换为双引号,可自行查看是否生效。

"format": "prettier --write 'src/**/*.+(js|ts|jsx|tsx)' "

npm run format

接下来在项目根目录下创建.vscode文件夹(注意这个vscode前面有个小圆点),并在文件夹下面新建文件settings.json,配置如下,意思是在保存的时候自动更改格式,而不需要像前面一样另外使用指令运行。

{
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": "explicit"
  }
}

我在这一步碰到了一个问题,就是保存文件的时候修改并没有生效,搜索了一下,很大概率还是缺少了eslint文件,因为前面缺失了一节课,所以我就按照自己的步骤往下添加。

先在根目录下载eslint,指令为下列代码中的第一句,然后在根目录创建一个文件.eslintrc.js,其中的配置如下,module会有报红波浪线,不用理会,记得文件前面要加.不然没效果,保存好了之后可以随便拿一个文件进行修改,会看到单引号路径会报错,保存后会自动修改为双引号,就表示配置生效了。

npm install eslint --save-dev
// .eslintrc.js
module.exports = {
  env: {
    browser: true,
    es2021: true,
  },
  extends: [
    "eslint:recommended",
    "plugin:react/recommended",
    "plugin:@typescript-eslint/recommended",
    "plugin:prettier/recommended",
  ],
  parser: "@typescript-eslint/parser",
  parserOptions: {
    ecmaVersion: "latest",
    sourceType: "module",
  },
  plugins: ["react", "@typescript-eslint"],
  rules: {
    // 你的规则配置
  },
};

ps:我按着步骤重新配置了一次,发现全部执行完后,运行项目会有报错,根据相应的提示找到文件,然后再次保存就可以了,基本上都是App.tsx同个目录下的文件

提交到github仓库

参考文章:提交到github

创建一个github账号,可以通过下面这一条指令检查.ssh是否存在,我使用的时候没有查出来,但是后面创建新的内容时又显示有这个文件。

cd ~/.ssh

若提示“-bash: cd: ~/.ssh: No such file or directory” 那就说明.ssh文件夹不存在,那么则进行下一个步骤,否则就是将原来的.ssh文件夹备份以下,亦或是切换到其他路径下建立ssh。输入以下命令来创建ssh,xxx@xx.com为你注册GitHub时的邮箱账号,命令执行成功后,会有以下提示

$ ssh-keygen -t rsa -C xxx@xx.com

这个默认路径最好不要改,我就是改了,结果推送项目的时候失败了。当然如果知道怎么处理这种情况当我没说

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/yuyuhang/.ssh/id_rsa):       
// .ssh默认路径,不输入则不修改
Enter passphrase (empty for no passphrase):                              
// 密码长度至少为4,否则失败
Enter same passphrase again: 
Your identification has been saved in /Users/yuyuhang/.ssh/id_rsa.
Your public key has been saved in /Users/yuyuhang/.ssh/id_rsa.pub.
The key fingerprint is:
8d:d3:5f:31:ae:13:48:f0:78:df:a1:8f:a5:a4:c0:06 352091626@qq.com
The key's randomart image is:
+--[ RSA 2048]----+
|        .        |
|         +       |
|      E . +   +  |
|       o * o + + |
|        S + = =  |
|       . o + O   |
|          . * .  |
|             .   |
|                 |
+-----------------+

接下来就是在GitHub上创建SSH。首先登陆你的GitHub,右上角用户头像下选择Settings,在SSH Keys 选项里面添加ssh,然后创建一个仓库,仓库不需要勾选创建README.md。

Title:xxx@xx.com
Key:打开生成的id_rsa.pub文件(/User/yourname/.ssh/is_rsa.pub),将其中内容拷贝过来

创建成功后,查看项目中是否有README.md文件,没有的话就执行下面的步骤

$ touch README.md                                         
//新建一个README文档,若上一步勾选了创建README.md,提交时导致冲突
$ git init                                                
//初始化本地仓库
$ git add README.md                                       
//添加刚刚创建的README文档
$ git commit -m "你的注释...."                             
//提交到本地仓库,并写一些注释
$ git remote add origin git@github.com:yourname/xxxx.git  
//连接远程仓库并建了一个名叫:origin的别名,当然可以为其他名字,但是origin一看就知道是别名,youname记得替换成你的用户名
$ git push -u origin master                              
//将本地仓库的文件提交到别名为origin的地址的master分支下,-u为第一次提交,需要创建master分支,下次就不需要了

链接期间可以用下面这条指令查看和github的链接是否正常,如果链接不正常那就先解决连接问题,如果这个链接返回的结果是正常的,但是项目推送的时候有问题,可以考虑下是不是我遇到的两个,1 生成的钥匙更换了默认路径  2 使用https提供的项目链接进行操作(应该使用SSH)

ping github.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值