使用 Vue CLI 快速搭建一个 SPA 应用

阅读时长 7 分钟读完

前言

随着互联网行业的快速发展,前端技术也在飞速进步。Vue.js 作为一种前端框架,已经成为了很多人心中的首选,而 Vue CLI 则能够更快速地进行项目的搭建。本篇文章旨在向大家介绍如何使用 Vue CLI 来快速搭建一个 SPA 应用。

环境准备

  1. 安装 Node.js,可以通过官网下载对应系统的安装包进行安装。
  2. 在终端中输入 npm install -g @vue/cli 安装 Vue CLI。

创建项目

  1. 在终端中输入 vue create <project-name>,其中 <project-name> 可以是任何你想要的项目名称。
  2. 选择一个 preset 或手动配置,这里建议选择手动配置,这样可以更方便地了解整个项目的结构。
  3. 在进行配置时,可以根据自己的需求选择是否添加 router 和 vuex。
  4. 随后可以根据需求安装一些常用的插件,比如 axios、element-ui 等。

项目结构

当我们创建了一个基于 Vue CLI 的 SPA 应用时,我们可以看到如下的项目结构:

-- -------------------- ---- -------
--- ------
-   --- -----------
-   --- ----------
--- ---
-   --- ------
-   --- ----------
-   --- ------
-   --- -----
-   --- -----
-   --- -------
-   --- -------
--- ---------------
--- ------------
--- ---------
--- -------------
  • public 目录中包含了一些公共的文件,比如 index.html 页面、favicon 等。
  • src 目录是我们编写应用程序时的主要目录,包含了所有组件、路由、状态管理、构建脚本等文件。
  • App.vue 是应用程序的入口组件,它包含了所有子组件。
  • main.js 是整个应用程序的入口文件,也是我们进行一些初始化操作和配置的地方。
  • babel.config.js 是 ES6 语法转化工具 Babel 的配置文件。
  • package.json 是应用程序的配置文件,其中包含了应用程序的依赖项和开发脚本等。
  • README.md 则是文档文件,用于在 GitHub 中展示项目介绍等信息。

示例代码

本文将通过一个具体的示例来演示 SPA 应用的搭建过程。我们将创建一个简单的 TodoList 应用,用于展示如何添加新的任务、完成任务、删除任务等操作。

App.vue

我们首先来看一下 App.vue 组件的代码:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

App.vue 组件中,我们首先定义了一个 tasks 数组,用于存储所有的任务。在 methods 中定义了三个函数,用于添加新的任务、完成任务和删除任务。具体实现可以参考上述代码。

main.js

接下来我们来看一下 main.js 文件的代码:

main.js 文件中,我们首先引入了 VueApp.vue 组件。之后创建了一个 Vue 实例,并将 App 组件渲染在 #app 将对应的 DOM 元素上。

应用程序的构建与运行

在我们完成了 TodoList 程序的开发后,我们需要通过 Vue CLI 将应用程序构建为可部署的静态网页。我们只需要在终端中输入 npm run build,Vue CLI 会自动将应用程序构建在 ./dist 目录下,同时对应的静态资源也会自动打包进去。

如果我们想要在本地进行调试,只需要在终端中输入 npm run serve 即可启动一个本地开发服务器。

总结

本篇文章向大家介绍了如何使用 Vue CLI 快速搭建一个 SPA 应用,并通过一个 TodoList 程序的示例演示了应用程序的开发和构建过程。相信大家在学习和使用 Vue CLI 的过程中,也能够取得更好的成果。

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

纠错
反馈