(一)Vue和React的编码方式对比----基础起步篇

很多人会将现在流行的三大框架进行对比,性能也好,写法也好总会有人比,这时有人会问为什么只介绍Vue和React呢?

你看看现在用Angular的多不?我反正看招聘基本都是Vue和React,尤其是React近期占比明显增加。(再说了,这世道,前端这么卷,不会两个主流好意思出来混嘛)

系列专题使用的都是Vue2,大家也都知道Vue2和Vue3的写法也是有区别的,后期也会出一些这两个大版本的使用对比。

开始吧,赖斯狗~

一、安装脚手架及创建项目

既然是基础起步,肯定是先从安装开始,咱一步步来,不着急。首先呢,先要安装脚手架,React的脚手架叫做create-react-app,vue的叫vue-cli3,这两个脚手架都需要在node环境下使用npm或者yarn安装,淘宝镜像也行,大家随意

1. 安装react脚手架创建项目

// 全局安装,方法1,使用npm
npm install create-react-app -g

// 全局安装,方法2,使用yarn
yarn global add create-react-app

这两种都行,任选其一。但是有个缺点,没法保证每次都用的最新的
除非你每次都更新,我是不爱用,麻烦,所以我推荐下面的方式

npx create-react-app hello-react

我没写错,就是npx,在npm5.2版本以后会内置这么个东西,简化安装,相当于直接调用最新的包并创建react项目。

还是这个比较方便吧,一步到位,当你看到下面的样子的时候,证明项目已经创建完了

 然后只需继续进入项目文件夹,并启动项目

cd hello-react
npm start
// 或
yarn start

我们就成功的看到了这个转来转去的React Logo 

2.  安装vue-cli3脚手架创建项目

跟React一样也分为全局安装或者使用npx直接创建项目

// 全局安装,方法1,使用npm
npm install @vue/cli -g

// 全局安装,方法2,使用yarn
yarn global add @vue/cli

// 使用npx直接创建项目
npx @vue/cli create hello-vue

创建项目之后记得选Vue2,vue-cli可以创建2或3,别选错了哈

然后也是进入项目文件夹启动项目

cd hello-vue
npm run serve
// 或
yarn serve

 这样就能看到一个大大的V,成功

 二、文件夹结构

 左边是React,右边是Vue,看似好像差不多。

1.node_modules:依赖包文件夹,放我们平时安装的依赖包

2.public:公共资源文件夹,里边的文件不会被打包,放ico或者index.html,也可以放一些自己不想被打包的文件

3.src:专门放我们的代码,页面啊,css啊,js啊,组件啊巴拉巴拉

4.其他,一般都是配置文件,或者package记录什么的

5.vue.config.js这是vue项目特有的,用于配置webpack,或者跨域配置,这有人就要问了,react没有这个怎么配置呢,咱们后边讲

我们可以看到,src中的样子比外边不一样多了,正常开发过程中,肯定不能把所有的文件都让在src中,等不到下个人骂街,你自己就先把自己骂糊涂了。所以src还可以细分,下面我按照我的习惯来丰富一下文件夹,稍等

好了,现在更接近于实际项目开发中的一个文件结构,大家也可以根据自己的习惯增减文件夹,下面对应的讲一下都是干啥用的。

                             api —— 统一管理接口

                       assets —— 图片,音视频等静态资源,也有人喜欢往里放css和js

              components —— 全局组件

               redux/store —— redux和vuex相关代码,也有喜欢store写成vuex

                        router —— 路由文件夹

                        styles —— 全局样式,less,sass文件,样式统一管理

                           utils —— 常用的函数等js文件,axios封装或加密解密函数在这放着

                        views —— 放页面的

         App.js/app.vue —— 两个等价,总节点

        index.js/main.js —— 两个等价,作为总的引入js

三、最简单的结构

一般来说我们不会在App.js或者App.vue中直接写我们的逻辑代码,而是将它作为一个总结点,其他的页面作为组件引入至App中,下面我们分别在两个项目中创建一个Home组件并引入App

1.React结构

首先我们先在views中创建一个Home文件夹,然后创建Home.js作为我们第一个React组件。

在这我推荐一个VSCode中一个很好用的React插件,ES7+React/Redux/React-Native snippets

 只需输入rfc+回车就能创建出一个简单的React页面结构

// Home.js
import React from 'react'

export default function Home() {
    const pageName = 'React-Home'

    return (
        <div>{pageName}</div>
    )
}

 通过import引入Home组件,直接在下面通过<Home/>使用即可

// App.js
import React from 'react'
import Home from './views/Home/Home'

export default function App() {
  return (
    <div>
      React-App
      <Home/>
    </div>
  )
}

 2.Vue结构

同样的,在views中创建一个Home文件夹,然后创建Home.vue,这次不是js文件了,而是vue特有的文件后缀*.vue。

// Home.vue
<template>
	<div>{{pageName}}</div>
</template>

<script>
	export default {
		data() {
			return {
				pageName: 'Vue-Home'
			}
		}
	}
</script>

<style>
</style>

同样的通过import引入Home组件,但是与React不同的是,引入的组件不能直接使用,还需要在components中进行注册才可使用。 

// App.vue
<template>
	<div id="app">
		Vue-App
		<home></home>
	</div>
</template>

<script>
	import Home from './views/Home/Home.vue'

	export default {
		name: 'App',
		components:{
			Home
		}
	}
</script>

<style>
</style>

编写好了,大家可能会看到以下报错

解决办法也很简单,只需要在vue.config.js进行配置即可

// vue.config.js
const {
	defineConfig
} = require('@vue/cli-service')

module.exports = defineConfig({
	transpileDependencies: true,
	lintOnSave: false //新增这一句,关闭elsint检测
})

四、总结

我们已经成功的使用对应脚手架创建了项目,并整理了项目文件结构,新增了一个Home组件也对代码结构有了那么一丢丢的认识。

总的来说无论是Vue还是React都有一部分相似,也有很不一样的地方。React更像在js文件中混写html元素,这就是React的jsx写法,后续会详细介绍,而Vue则更加像我们最基础的Html结构。

在之后的文章中我们会一点点的挖这两大框架的不同,这篇就到这啦

点赞,评论,收藏,散会!

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值