在现代Web开发中,数据可视化应用程序在业界变得越来越受欢迎。此类应用程序不仅可以让用户更方便地观察和分析数据,而且还能为业务带来更高的效益。本文将介绍使用 Express.js 和 React 构建数据可视化应用程序的详细步骤和指导意义。
准备工作
在开始本教程之前,我们需要准备一些必要的工具和环境。具体如下:
- Node.js: 在构建任何JavaScript应用程序之前,都需要安装Node.js。访问Node.js官网下载相关安装程序。
- npm: npm是node.js的包管理工具,它允许您轻松安装和维护第三方库和插件。npm随Node.js一起安装。
- React: React是一个用于构建用户界面的JavaScript库。访问React官网了解更多内容。
完成上述准备工作后,我们可以开始构建应用程序。
创建Express.js应用程序
Express.js是一个非常强大的Node.js框架,用于创建Web应用程序和API。在本教程中,我们将使用Express.js作为我们的服务器框架。
首先,我们需要在本地计算机上创建一个新的Express.js应用程序。按照以下步骤操作:
- 在计算机上创建一个新的文件夹,然后打开终端并进入该文件夹。
- 在终端中运行以下命令,创建一个新的Express.js应用程序。
$ npx express-generator --view=ejs myapp
上述命令将使用ejs模板引擎创建名为"myapp"的新应用程序。
输入以下命令,进入新创建的myapp文件夹中。
$ cd myapp
运行以下命令,安装应用程序的依赖项。
$ npm install
此时,我们已经成功创建了一个新的Express.js应用程序。
创建React应用程序
在我们的应用程序中,React将用于构建我们的用户界面。我们需要使用create-react-app工具来创建一个新的React应用程序。按照以下步骤操作:
在我们之前创建的Express.js项目文件夹中,创建一个名为"client"的新文件夹。
打开终端,进入"client"文件夹,并运行以下命令,使其与React应用程序兼容。
$ npm create-react-app .
上述命令将安装React应用程序所需的依赖项,并将React应用程序设置为与我们的Express.js应用程序兼容。请注意,"." 代表当前文件夹路径。
运行以下命令,启动React应用程序。
$ npm start
现在,我们的新React应用程序已经在端口号为3000的本地开发服务器上运行。
处理服务器/客户端之间的数据传输
对于这个数据可视化应用程序,我们需要用到Express.js的API来提供我们的React应用程序。我们可以使用Express.js的/api
前缀路由来为我们的React应用程序提供API。
我们将使用axios库来处理客户端和服务器之间的通信。Axios是一个强大的http请求库,可轻松地处理GET,POST等与服务器之间的数据传递请求。
以下是Express.js API路由的创建方法:
在我们之前创建的Express.js项目文件夹中,打开app.js文件。
在该文件中,添加以下内容来启用CORS(跨来源资源共享):
const app = express(); app.use(cors());
这将允许从其他域加载数据,并允许前端程序通过XMLHttpRequest发送跨域请求。
下面是我们API的创建方法,它将获取我们需要可视化的数据,并将其传输到React前端应用程序中。
-- -------------------- ---- ------- -------------------- ----- ---- -- - ----- ---- - - --- ------ -- ---- --- ------ -- ---- --- ------ -- ---- --- ------ -- ---- --- ------ -- ---- --- ------ -- --- -- -------------- ---
上述代码将返回一个包含x和y坐标数据的对象数组。
现在,我们需要在React前端应用程序中调用此API。我们可以使用Axios来实现。以下是get请求的示例代码:
import axios from 'axios'; function getChartData() { return axios.get('/api/data') .then(res => res.data); };
在上述代码中,我们发送了一个GET请求到我们的Express.js服务器,并使用React中的Promises机制处理响应。
构建数据可视化组件
我们将使用recharts库来构建我们的数据可视化React组件。此库基于D3.js和SVG技术,并提供了丰富的图表和可视化工具。
以下是recharts库的安装方法:
$ npm install recharts
在完成安装后,我们可以开始构建我们的数据可视化React组件了。以下是例子代码:
-- -------------------- ---- ------- ------ ------ - --------- - ---- -------- ------ - ---------- ----- ------ ------ -------------- -------- ------ - ---- ----------- ----- ----- ------- --------- - ----- - - ----- -- -- ------------------- - -- ------- ------------------------ -- ----------------------- - -------- - ----- ------ - ----------- ------ - ---------- ----------- ------------ ------------ ------ ------------- -------- -------------- ------------- -- -------- -- ----- --------------- ----------- ---------------- -- ------------ -- - - ------ ------- ------
在上述代码中,我们使用LineChart,Line,XAxis和YAxis等recharts组件构建了一个简单的单线图表。我们还使用了getChartData函数来读取服务端API提供的数据。
运行应用程序
我们已经成功地创建了一个完整的数据可视化Web应用程序。现在我们需要将它打包并运行。以下是打包和运行应用程序的指令:
$ npm run build $ npm start
前面的命令将使用Webpack打包React应用程序,生成一个用于生产环境的文件夹。运行 /bin/www
文件即可启动应用程序。您现在可以通过http://localhost:3000查看我们的完整数据可视化应用程序。
结论
在本教程中,我们学习了如何使用Express.js和React构建一个数据可视化Web应用程序。我们演示了如何使用Axios处理客户端和服务器之间的通信。我们使用recharts库来构建数据可视化React组件,并使用Webpack打包和运行我们的应用程序。
此外,本教程还介绍了如何在CORS方面解决服务器和客户端之间的问题。我们还提供了完整的示例代码,供您参考和学习。
我们希望这个教程对您有所帮助,帮助您开始构建自己的数据可视化应用程序。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/673024c1eedcc8a97c912ea7