Vue-cli 3.0 构建 SPA 应用实践及优化

· 约 8 分钟读完

Vue-cli 是 Vue.js 官方提供的脚手架工具,可帮助开发者快速搭建 Vue 项目。在 2018 年 8 月,Vue-cli 更新了 3.0 版本,主要在构建和配置方面进行了重构和优化,提供了更加便捷、强大的开发体验。本文将介绍如何使用 Vue-cli 3.0 构建 SPA 应用,并探讨一些优化方案。

安装 Vue-cli 3.0

安装 Vue-cli 3.0 非常简单,只需执行以下命令即可:

安装完成后,你可以在命令行中输入 vue 命令来检查安装是否成功。

创建项目

使用 Vue-cli 3.0 创建项目非常方便,只需进入一个空文件夹,执行以下命令:

其中,my-project 是项目的名称,你可以根据自己的喜好自行修改。

此时,Vue-cli 会自动为你创建一个项目,并生成一些默认配置。你可以简单地使用以下命令启动项目:

然后在浏览器中访问 http://localhost:8080,即可看到一个 Vue 应用。

配置项目

配置环境变量

在项目开发和部署中,我们可能需要根据不同环境(如开发、测试、生产)配置不同的变量。Vue-cli 3.0 为此提供了非常方便的解决方案。

在项目的根目录下,创建 .env 文件并添加如下内容:

上述文件中,VUE_APP_API_BASE_URL 是自定义的环境变量名,值为 API 服务的基础 URL,可以根据需要自行修改。在项目启动后,此变量将被注入到所有的 Vue 组件中,通过 process.env.VUE_APP_API_BASE_URL 访问。

同时,Vue-cli 3.0 还支持在 .env 文件中添加不同环境的变量配置,如 .env.development、.env.production 等。在启动不同环境时,Vue-cli 会自动加载对应的配置文件。

配置代理

在开发过程中,我们经常需要使用 API 服务。但是,如果 API 服务不支持跨域访问,我们就无法在本地调试。Vue-cli 3.0 也提供了关于代理的解决方案,可以轻松解决这个问题。

在项目的根目录下,打开 vue.config.js 文件,并添加如下代码:

上述代码的含义是,对于所有以 /api 开头的请求,Vue-cli 将会代理到 process.env.VUE_APP_API_BASE_URL 所指定的 URL。

在组件中,只需使用 /api 开头的相对路径即可访问 API 服务,如:

配置构建优化

Vue-cli 3.0 在构建方面进行了很多的优化,通过一些配置和插件的使用,可以进一步提升构建速度和性能。

配置代码分割(Code Splitting)

在应用中,不同的页面或功能往往会依赖不同的 JavaScript 文件。如果将所有 JavaScript 文件打包成一个文件,会导致页面加载缓慢,用户体验也会受到影响。Vue-cli 3.0 默认启用了代码分割功能,可以将应用中的 JavaScript 代码分割成多个文件,从而减少每个文件的体积,加快应用的加载速度。

如果你想对代码分割进行调整,可以编辑 vue.config.js 文件并添加如下代码:

上述代码的含义是,对于所有的 JavaScript 文件,Vue-cli 将自动进行代码分割,生成多个文件。其中,chunks 参数指定了将哪些 JavaScript 文件进行分割,这里使用的是 all;name 参数指定了生成的文件名的格式,这里使用的是默认值,即 [name].js。

使用 Gzip 压缩

在服务器向客户端返回文件时,可以启用 Gzip 压缩,将文件体积大幅缩减,加快传输速度。Vue-cli 3.0 默认启用了 Gzip 压缩,但需要在服务器端进行配置。

如果你使用的是 Node.js 服务器,在启动 Node.js 服务器时,可以添加以下代码启用 Gzip 压缩:

如果你使用的是 Nginx 服务器,可以添加以下代码配置 Gzip 压缩:

配置部署

在应用开发完成后,我们需要将应用部署到服务器上。Vue-cli 3.0 为部署提供了非常方便的解决方案。

生成静态文件

首先,你需要将应用编译成静态文件,以便可以通过 HTTP 服务器进行访问。

在项目的根目录下,执行以下命令:

执行成功后,Vue-cli 3.0 将会在 dist 目录下生成编译后的静态文件。你可以通过 HTTP 服务器将 dist 目录下的文件部署到服务器上,从而让用户通过浏览器访问应用。

配置服务器

在部署应用时,需要在服务器上安装 HTTP 服务器,如 Apache、Nginx 等。在安装完 HTTP 服务器后,你需要将应用的静态文件复制到 HTTP 服务器的根目录下。

对于 Nginx 来说,你可以在 Nginx 配置文件中添加以下代码:

上述配置将会将所有的请求重定向到 /index.html,也就是我们编译出来的 Vue 应用的入口文件。

结语

本文介绍了如何使用 Vue-cli 3.0 构建 SPA 应用,并对构建和部署方面进行了一些优化。希望对你有所帮助。最后,附上一个完整的 vue.config.js 文件示例,供参考:

感谢阅读,如有错误、不当之处请指正。

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