返回

React项目打造-使用npm run mock启动服务模拟数据

前端

让我们从零开始构建一个React项目,并一步一步地学习如何使用npm run mock命令来模拟数据。

首先,我们需要创建一个新的React项目。我们可以使用以下命令来创建一个名为my-app的项目:

npx create-react-app my-app

然后,我们需要安装必要的依赖项。我们可以使用以下命令来安装:

cd my-app
npm install axios

接下来,我们需要在src目录下创建一个名为home.js的文件。该文件将包含我们的模拟数据。

// home.js
const data = [
  {
    id: 1,
    name: "John Doe",
    email: "johndoe@example.com",
  },
  {
    id: 2,
    name: "Jane Smith",
    email: "janesmith@example.com",
  },
  {
    id: 3,
    name: "Michael Jones",
    email: "michaeljones@example.com",
  },
];

export default data;

现在,我们需要在src目录下创建一个名为App.js的文件。该文件将包含我们的React组件。

// App.js
import React, { useState } from "react";
import data from "./home.js";

const App = () => {
  const [users, setUsers] = useState(data);

  return (
    <div>
      <h1>Users</h1>
      <ul>
        {users.map((user) => (
          <li key={user.id}>{user.name}</li>
        ))}
      </ul>
    </div>
  );
};

export default App;

最后,我们需要在package.json文件中添加一个脚本命令来启动服务。

// package.json
{
  "scripts": {
    "start": "react-scripts start",
    "mock": "json-server --watch db.json --port 3000"
  }
}

现在,我们可以使用以下命令来启动服务:

npm run mock

这将启动一个JSON服务器,并监听3000端口。该服务器将提供模拟数据,我们可以使用axios来获取这些数据。

// App.js
import React, { useState, useEffect } from "react";
import axios from "axios";

const App = () => {
  const [users, setUsers] = useState([]);

  useEffect(() => {
    axios.get("http://localhost:3000/users").then((res) => {
      setUsers(res.data);
    });
  }, []);

  return (
    <div>
      <h1>Users</h1>
      <ul>
        {users.map((user) => (
          <li key={user.id}>{user.name}</li>
        ))}
      </ul>
    </div>
  );
};

export default App;

现在,我们可以使用以下命令来启动项目:

npm start

这将启动React开发服务器,并监听3000端口。我们可以打开浏览器,访问http://localhost:3000来查看我们的项目。

以上就是如何使用npm run mock命令来启动服务模拟数据的方法。希望本文对您有所帮助。