Vue2初始化工程
本教程已经默认你安装了npm以及node.js

1、安装VUE CLI
命令行输入以下指令安装vue cli:
1 | npm install -g @vue/cli |
安装后输入以下指令检验是否安装成功
1 | npm ls -g |

2、打开cmd,输入vue create [文件名]

3、手动选择功能

4、选择功能解释

-
Babel:用于将现代 JavaScript 转换为向后兼容的版本,以便能够在旧版浏览器中运行。如果您使用现代 JavaScript 语法,建议选择此选项。
-
TypeScript:使用 TypeScript 编写 Vue 应用程序。TypeScript 提供类型检查和更好的开发体验。如果您希望使用强类型系统,可以选择此选项。
-
Progressive Web App (PWA) Support:使您的应用成为渐进式 Web 应用,支持离线访问、推送通知等。如果您计划构建一个需要离线访问的应用,建议选择此选项。
-
Router:为您的应用启用 Vue Router,以便在不同的视图之间导航。如果您的应用需要多页面或路由功能,请选择此选项。
-
Vuex:状态管理模式+库,用于 Vue.js 应用。如果您的应用需要集中管理状态,建议选择此选项。
-
CSS Pre-processors:使用 Sass、Less 或 Stylus 等 CSS 预处理器。如果您希望使用预处理器来编写 CSS,选择此选项。
-
Linter / Formatter:用于代码格式化和 linting,以确保代码质量和一致性。选择此选项有助于保持代码整洁和规范。
-
Unit Testing:添加单元测试支持,通常使用 Jest 或 Mocha。如果您希望为应用编写单元测试,请选择此选项。
-
E2E Testing:端到端测试支持,通常使用 Cypress 或 Nightwatch。如果您希望测试整个应用的工作流程,可以选择此选项。
5、选择 Vue.js 版本

-
3.x: 最新的 Vue.js 版本,具有更好的性能和更强大的功能,推荐用于新项目。
-
2.x: 较旧的 Vue.js 版本,虽然仍然被许多项目使用,但不建议在新项目中使用。
6、CLI 询问是否使用 class-style component syntax

如果选择 Y (Yes),您的 Vue 组件将采用基于类的语法。具体来说,组件将使用 TypeScript 的 class 语法来定义。您可以使用 vue-class-component 和 vue-property-decorator 库来让类风格组件正常工作。
示例代码:
1 | tsimport Vue from 'vue'; |
优点:
-
更符合面向对象编程的习惯,代码结构清晰。
-
适合有面向对象编程经验的开发者,尤其是从 Java 或 C# 等语言转过来的开发者。
缺点:
-
需要安装额外的库,如
vue-class-component和vue-property-decorator。 -
在 Vue 2.x 的生态系统中,这种方式并不是默认的编码风格,所以需要一定的学习成本。
Non class-style (N)
如果选择 N (No),您的 Vue 组件将继续使用标准的 Vue 2.x 组件语法,这是目前大多数 Vue 2.x 项目使用的传统方法。您将继续使用普通的选项式 API (Options API),这也是 Vue 2.x 的默认方式。
示例代码:
1 | tsexport default { |
优点:
-
更直观,符合 Vue 2.x 的标准语法。
-
没有额外的库依赖,语法简单易用。
缺点:
-
对面向对象编程的支持较弱(但这对大多数项目来说不会成为问题)。
选择建议
-
如果您更倾向于面向对象的编程风格,或者有使用 TypeScript 类的经验,可以选择 Y (Yes)。
-
如果您更喜欢 Vue 2 的传统方式,或者只是简单的 Vue 开发,选择 N (No) 会更适合。
7、 是否在 TypeScript 中使用 Babel。

选择 “Y” (Yes)
如果您选择 Y (Yes),这将启用 Babel 和 TypeScript 的结合使用,主要优点包括:
-
现代模式:能够使用现代 JavaScript 特性,如 async/await 和其他 ES6+ 语法。
-
自动检测 Polyfills:Babel 将根据目标浏览器自动添加所需的 Polyfills,确保更好的浏览器兼容性。
-
支持 JSX:如果您希望在 Vue 组件中使用 JSX 语法,这样的配置会很方便。
示例配置:
1 | bash"@babel/preset-env": { |
选择 “N” (No)
如果您选择 N (No),则项目将只使用 TypeScript,而不使用 Babel。这意味着:
-
TypeScript 的类型检查:TypeScript 的强类型系统将可用,但不会经过 Babel 的转译过程。
-
缺少某些现代 JavaScript 特性:可能无法直接使用某些现代 JavaScript 特性,取决于您所支持的目标环境。
示例配置:
1 | json"compilerOptions": { |
选择建议
-
选择 “Y (Yes)”:
- 如果您希望充分利用 Babel 的能力,确保您能够使用最新的 JavaScript 特性,且不想手动处理 Polyfills。
- 如果您需要在 Vue 组件中使用 JSX,选择这个选项会很方便。
-
选择 “N (No)”:
- 如果您的项目更依赖于 TypeScript 的类型系统,并且不需要使用 Babel 的额外功能。
- 如果您的项目需要更小的构建体积,且不需要 Polyfills 或现代特性支持。
8、选择使用 history mode for router

使用 History Mode (选择 Y)
如果您选择 Y (Yes),这将启用 Vue Router 的历史模式,主要特点包括:
-
更干净的 URL:使用历史模式时,您的 URL 将不会包含哈希符号(#)。例如,您可以访问
/about而不是/#/about,这使得 URL 更加美观且更符合标准的 RESTful 路由设计。 -
SEO 友好:因为没有哈希符号,搜索引擎更容易索引您的页面,这有利于提高您的网站在搜索引擎中的排名。
-
用户体验更佳:用户可以直接使用浏览器的后退和前进按钮,这对用户的体验是有帮助的。
然而,启用历史模式还需要您配置服务器以处理所有路由请求,确保当用户直接访问某个 URL 时,能够正确地返回应用的 index.html 文件。常见的配置包括:
-
Apache:在
.htaccess中添加重定向规则。 -
Nginx:配置 server 块以确保所有请求指向
index.html。
不使用 History Mode (选择 N)
如果您选择 N (No),将使用默认的哈希模式,主要特点包括:
-
不需要服务器配置:哈希模式不需要额外的服务器配置,所有路由请求都将自动处理。
-
简单易用:适合小型项目或临时应用。
-
可能不够美观:由于 URL 中会包含
#符号,可能不太美观,且对 SEO 支持较差。
9、选择配置文件的位置
选择package.json

10、保存预设状态
选择No

11、接着输入cd 项目名 以及npm run serve即可打开项目


