Mac OS环境下搭建react项目、安装4.0及以上路由

一、安装node

  确认电脑上已安装node.js,可以在终端输入命令$ node -v 按回车键若有返回版本号说明已安装。

二、安装npm

  验证方法同一$ npm -v

三、安装全局create-react-app

$ sudo npm install -g create-react-app

   其中sudo表示mac系统特有的授权,windows上无需加上这个。


创建成功提示图

   其中还需要特别注意的是,这里的代码输入过程中,若了的Tab空格,会报如下错误,重新输入正确的即可。(错误提示:Display all 1376 possibilities?(y or n))


报错的情况

四、使用create-react-app 快速构建React开发环境

$  create-react-app project_name

create-react-app自动创建的项目是基于webpack+ES6;搭建完成后会生成一个名为project_name的文件夹,其文件目录如下

五、安装React

使用npm来安装 React:

npm init
npm install --save react react-dom

六、开启ES6和JSX

Babel安装

进入Babel安装说明,https://babeljs.io/en/setup/#installation,说明了如何在多种不同环境中配置Babel。因为我用的是webstorm编辑器,所以选择wenstorm。

babel安装

根据提示安装即可

npm install --save-dev babel-cli
npm install @babel/preset-env --save-dev

安装完后,项目跟目录新建一个.babelrc文件 ,并进行配置,如下

{
  "presets": ["@babel/preset-env"]
}

七、运行项目

   进入上一步生成的项目 $ cd project_name ;然后再执行$ npm start


  在浏览器中打开http://localhost:3000/,就可以访问了,结果图如下

八、安装路由

  因为React Router DOM已经被发布到npm上去了,所以可以通过npm和yarn来安装它。

npm install react-router-dom

示例:基本路由

  • 在src下新建一个文件夹router — Router.js 用来进行路由配置。
  • 在src下新建一个文件夹component用来存放组件。


    目录

Router.js

import React from 'react'
import { BrowserRouter as Router , Route , Link } from 'react-router-dom';
import One from '../component/one'
import Two from '../component/two'

function Index() {
  return <h2>Home</h2>
}

function About() {
  return <h2>About</h2>
}

function Users() {
  return <h2>Users</h2>
}

function AppRouter() {
  return(
      <Router>
        <nav>
          <ul>
            <li>
              <Link to="/">Home</Link>
            </li>
            <li>
              <Link to="/about/">About</Link>
            </li>
            <li>
              <Link to="/users/">Users</Link>
            </li>
          </ul>
        </nav>

        <Route path="/" exact component={Index} />
        <Route path="/about/" component={About} />
        <Route path="/users/" component={Users} />
        <Route path="/one/" component={One} />
        <Route path="/two/" component={Two} />
      </Router>
  )

}


export default AppRouter;

App.js

import React, { Component } from 'react';
import './App.css';
import Router from './router/Router'

class App extends Component {
  render() {
    return (
      <div className="App">
       <Router />
      </div>
    );
  }
}

export default App;

one.js

import React, { Component } from 'react';
import { Link } from 'react-router-dom';

class One extends Component {
  render() {
    return (
        <div className="App">
          <Link to="/two/">oneoneoneone</Link>
        </div>
    );
  }
}

export default One;

two.js

import React, { Component } from 'react';

class Two extends Component {
  render() {
    return (
        <div className="App">
          就是这里,开心
        </div>
    );
  }
}

export default Two;

根目录


根目录

url为 /one/ :

one组件

点击one组件跳转到two组件


two组件
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • This project was bootstrapped with Create React App. Belo...
    unspecx阅读 10,599评论 0 2
  • 最近由于换了环境,所以需要重新配置下 Mac 系统的 React Native (后面简称为 RN)开发环境,在此...
    ywz阅读 6,136评论 0 4
  • 真心无奈 多心都为了爱 苦苦等 想哭哭不出来 无心伤害 你应该明白 爱太多空隙 受伤容易 ...
    娜ke不一样阅读 2,972评论 0 1
  • 那时还很年轻,在帮主的带领下总是泡ktv,也就是传说中的天上人间的那种。帮主也是号称,不怕吃亏,为人仗义,...
    沧浪公益书院风清杨阅读 7,499评论 4 4
  • 当车驶入罗马古城,展开的便是一幅浓缩的历史画卷,每一块墙砖都似在浅吟那段辉煌历史。受希腊文化影响,罗马人身上带有商...
    凡淇阅读 3,034评论 0 5

友情链接更多精彩内容