Vue.js + Node.js + MongoDB 构建 SPA 应用

阅读时长 15 分钟读完

介绍

随着互联网的迅速发展,Web 应用程序的开发变得越来越复杂。为了提高用户体验、增强应用性能和易用性,前端技术也得到了长足的发展。Vue.js 是一款渐进式 JavaScript 框架,可帮助我们构建出高效、灵活且易用的单页面应用(SPA)。Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时,可利用事件驱动和非阻塞 I/O 的模型构建高扩展性和高性能的网络和服务器应用程序。MongoDB 是一个面向文档的 NoSQL 数据库管理系统,由于它的高可用性和可扩展性,它已成为 Web 开发领域中最流行的数据库之一。本文将介绍如何使用 Vue.js、Node.js 和 MongoDB 构建一个基于单页面应用程序的 Web 应用程序。

技术栈

你需要的前置技能:

  • 熟悉基本的 JavaScript、HTML 和 CSS。
  • 熟悉 Vue.js 和 Node.js 的基础。

我们将使用以下技术:

  • Vue.js:客户端渲染框架。
  • Node.js:服务器端运行时。
  • Express.js:Web 应用程序框架。
  • MongoDB:文档型 NoSQL 数据库。

步骤

在开始编码之前,请确保在本地安装了以上列出的所有技术。接下来,我们将完成以下步骤:

  1. 创建一个 Express.js 的 Web 应用程序和一个 MongoDB 数据库。
  2. 配置 Express.js 和 MongoDB。
  3. 使用 Vue.js 构建客户端应用程序。
  4. 将客户端和服务器端进行连接。
  5. 编写外观和响应式页面。
  6. 将数据存储在 MongoDB 中,并通过服务器 API 发送和接收数据。

1. 创建一个 Express.js 的 Web 应用程序和一个 MongoDB 数据库

首先,让我们建立一个基于 Express.js 的 Web 应用程序和一个 MongoDB 数据库。你可以使用以下命令来安装 Express.js 和 MongoDB:

创建一个名为 "server.js" 的服务器文件,并初始化 Express.js 应用程序,如下所示:

-- -------------------- ---- -------
-- -- ---------- -
----- ------- - -------------------
-- -- ---------- ----
----- --- - ----------

-- --------
----- ---- - ---------------- -- -----

-- -- --- ---
---------------- -- -- -
  ------------------- ------- -- ---- ----------
---

接下来,我们将创建一个基于 MongoDB 的数据库。你可以使用以下命令安装 MongoDB:

然后,请创建一个名为 "db.js" 的文件,并编写以下代码以连接到 MongoDB 数据库:

-- -------------------- ---- -------
-- -- ------- ----
----- ----------- - -------------------------------

-- -----
----- --- - ----------------------------

-- -----
----- ------ - --------

-- --- ------- ---
------------------------ ----- ------- -- -
  -- ----- ----- ----

  ---------------------- -- ------- ---------

  ----- -- - ------------------

  -- -------
  ---------------
---

现在,我们已创建了一个 Express.js 的 Web 应用程序和一个 MongoDB 数据库。

2. 配置 Express.js 和 MongoDB

在将 Express.js 和 MongoDB 进行结合之前,我们需要进行一些配置。为了实现这一点,我们将使用第三方库。请确保安装以下依赖:

现在,我们可以将以下代码添加到 "server.js" 中以启用 CORS 支持,并配置 body-parser 中间件:

-- -------------------- ---- -------
----- ---- - ----------------
----- ---------- - -----------------------

-- -- ---- ------
----------------

-- -------
---------------------------
------------------------------- --------- ---- ----

-- -- ------- ---------
------------ ----- ---- -- -
  --------------- --------
---

3. 使用 Vue.js 构建客户端应用程序

现在,让我们使用 Vue.js 构建基于客户端的应用程序。同样,请确保安装了 Vue.js:

在此项目中,我们将使用 Vue CLI 自动化工具,使用以下命令全局安装它:

接下来,请使用以下命令创建基于 Vue.js 的 Web 应用程序:

该命令将创建名为 "myapp" 的新目录,其中包含生成的应用程序模板。现在,切换到新创建的应用程序文件夹,并使用以下命令安装依赖项:

以下是 Vue.js 应用程序的主要文件:

  • "src/main.js" - 主 JavaScript 文件。
  • "src/App.vue" - 主 Vue 应用程序文件。
  • "src/components" - Vue 组件目录。

在 "src/main.js" 文件中添加以下代码,启动 Vue 应用程序:

4. 将客户端和服务器端进行连接。

现在,我们已准备好连接客户端和服务器端。为此,请添加以下代码到 "server.js" 文件中:

调用 API

我们可以使用以下代码在客户端和服务器之间进行交流,该代码使用 Axios:

  1. 首先,请安装 Axios:
  1. 然后,请在 "package.json" 文件中添加以下内容:
-- -------------------- ---- -------
-
  ------- --------
  ---------- --------
  -------------- ------- --- --- ------- -----
  ------- ------------
  ---------- -
    ------ ----- -----------
    -------- ---------------- ----- -- ---- ----------
  --
  --------------- -
    -------- ----------
    -------------- ----------
    ------- ---------
    ---------- ----------
    ---------- ----------
    --------------- ---------
  -
-
  1. 最后,请在 "App.vue" 中添加以下代码,以调用服务器端 API:
-- -------------------- ---- -------
----------
  ---- --------------
    --- ------------------ -------- -------
    ----- ---------------- -------------------------
      ------ ----------- -------------- ------------------- --
      ------- -------------------------
    -------
  ------
-----------

--------
------ ----- ---- --------

------ ------- -
  ------ -
    ------ -
      ----- ---
      --------- ---
    --
  --
  -------- -
    -------- -
      -----
        ---------------------------------------- - ----- --------- --
        --------- -- -
          ------------- - -----------------
        --
        ---------- -- -
          -----------------
        ---
    --
  --
--
---------

5. 编写外观和响应式页面

在这一步中,我们将使用 Materialize CSS 框架来设计 UI。我们将在 Vue.js 应用程序中使用 Materialize Vue 插件。首先,请安装 Materialize CSS:

接下来,请使用以下命令安装 Materialize Vue 插件:

要连接 Materialize Vue,请添加以下代码到 "src/main.js" 中:

还需要按照 Materialize Vue 官网中的话,舍去Vue-cli自动生成的/App.vue 和/components目录,重新写一个App.vue,写法如下:

-- -------------------- ---- -------
----------
  -----
    -----
      ---- ------------------ --------- ----------
        -- -------- ----------------- ---------------
        --- --------------- ------------ ----------------------
          ---------------- ------------------------------
          ---------------- ------------------------------------
          ---------------- ------------------------------------
        -----
      ------
    ------

    ---------------------------
  ------
-----------

同时,不要忘记修改 "src/main.js" 文件中的代码:

-- -------------------- ---- -------
------ --- ---- ------
------ ------ ---- -----------
------ - ------------- ----------- - ---- ----------------
------ --- ---- ------------

------ -----------------------------------
------ ---------------------------------------

------------------------ - ------

----------------------
---------------------

--- -----
  -------
  ------- - -- -------
------------------

我们可以使用以下代码在 "src/components" 目录中创建组件:

-- -------------------- ---- -------
----------
  -----
    ----
      --- ----------- -- ------ ----------------
        -------- --------- --------- - -------- ---------- ---------
      -----
    -----
  ------
-----------

--------
------ ----- ---- --------

------ ------- -
  ----- -- -- --
    ------ ---
  ---
  --------- -
    -----
      ---------------------------------------
      --------- -- ----------- - ----------
      ---------- -- ------------------
  --
--
---------

接下来,在 "router.js" 中添加以下代码:

-- -------------------- ---- -------
------ --- ---- ------
------ ------ ---- -------------

------ ---- ---- ------------------------
------ ----- ---- -------------------------
------ ----- ---- -------------------------

----------------

----- ------ - --- --------
  ----- ----------
  ------- -
    -
      ----- ----
      ----- -------
      ---------- -----
    --
    -
      ----- ---------
      ----- --------
      ---------- ------
    --
    -
      ----- ---------
      ----- --------
      ---------- ------
    --
  --
---

------ ------- -------

我们已经编写了外观和响应式页面,我们的 Web 应用程序现在看起来非常漂亮。

6. 将数据存储在 MongoDB 中,并通过服务器 API 发送和接收数据

现在,我们将使用以下代码连接到 MongoDB 数据库并存储数据:

-- -------------------- ---- -------
----- ----------- - -------------------------------
----- -------- - ----------------------------

-- ----- --- ---
----- --- - ----------------------------------
----- ------ - --------

-- --- ------- ---
------------------------ - ---------------- ---- -- ----- ------- -- -
  -- ----- ----- ----

  ----- -- - ------------------

  -- - --- --------- -------
  ---------------------- ----- ---- -- -
    ----- - ---- - - ---------

    ----- ---------- - -----------------------

    ---------------------- ---- -- ----- ---- -- -
      -- ----- ----- ----

      ----- ------- - ------- - - ---- - -- --- ---- ------------ ------ -----

      ---------- ------- ---
    ---
  ---

  -- - --- -- ------- ------
  --------------------- ----- ---- -- -
    ----- ---------- - -----------------------

    ------------------------------- ----- -- -
      -- ----- ----- ----

      ---------------
    ---
  ---

  ---------------- -- -- -
    ------------------- ------- -- ---- ----------
  ---
---

我们已成功将数据存储在 MongoDB 中,并将其发送和接收到客户端。

结论

在本教程中,我们使用了 Vue.js、Node.js 和 MongoDB 构建出了一个简单的 Web 应用程序。Vue.js 是一款非常受欢迎的客户端渲染框架,可帮助您创建快速、灵活且易用的单页面应用程序。Node.js 则是一个高度灵活和可扩展的 JavaScript 运行时,它支持非阻塞 I/O、跨平台开发和事件驱动架构。MongoDB 是一种高性能、弹性和高可用性的数据库,支持面向文档的 NoSQL 数据库管理。通过结合这些技术,我们可以轻松构建出现代化的 Web 应用程序。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67390ba0317fbffedf14d406

纠错
反馈