前端——在本地搭建Vue单页应用

目录

1、安装最新node.js

2、打开命令行窗口

3、进入要保存项目的目录下

[4、安装 Vue CLI](#4、安装 Vue CLI)

5、创建新项目,选择功能

[5.1 新建项目](#5.1 新建项目)

[5.2 Please pick a preset](#5.2 Please pick a preset)

[5.3 Check the features needed for your project](#5.3 Check the features needed for your project)

[5.4 Choose a version of Vue.js](#5.4 Choose a version of Vue.js)

[5.5 Use history mode for router?](#5.5 Use history mode for router?)

[5.6 Pick a linter/formatter config](#5.6 Pick a linter/formatter config)

[5.7 Save this as a preset for future projects?](#5.7 Save this as a preset for future projects?)

[5.8 Lint on save](#5.8 Lint on save)

[5.9 In package.json](#5.9 In package.json)

6、使用webstorm打开创建好的项目,进行编写

7、启动开发服务器

8、将应用发布到生产环境

9、Vue项目结构


1、安装最新node.js

2、打开命令行窗口

  • 快捷键:windows+R,输入"cmd",打开命令行窗口

3、进入要保存项目的目录下

4、安装 Vue CLI

  • Vue CLI 是一个官方提供的工具,用于快速搭建和管理 Vue 项目

  • 此命令执行一次就行了,不必每次创建新项目时都执行一次
    *

    bash 复制代码
    npm install -g @vue/cli
  • 检查是否安装成功

5、创建新项目,选择功能

5.1 新建项目

bash 复制代码
vue create <project-name>

5.2 Please pick a preset

  • 创建 Vue 3 项目,并且希望使用默认配置,选择 Default ([Vue 3] babel, eslint)
  • 创建 Vue 2 项目,则选择 Default ([Vue 2] babel, eslint)
  • 自定义配置,则选择 Manually select features,然后按照提示逐步选择所需的功能和工具。

5.3 Check the features needed for your project

  • 选项功能:

    • (*) Babel: 使用 Babel 来转译 JavaScript 代码,以确保你可以使用最新的 JavaScript 特性,并兼容不同的浏览器。
    • ( ) TypeScript: 是否使用 TypeScript 作为项目的编程语言。TypeScript 是 JavaScript 的一个超集,添加了静态类型检查的功能。
    • ( ) Progressive Web App (PWA) Support: 是否启用渐进式 Web 应用(PWA)的支持,这允许你将网站转变为一个可离线访问的应用。
    • ( ) Router: 是否使用 Vue Router 来实现单页面应用(SPA)的路由功能,用于页面之间的导航。
    • ( ) Vuex: 是否使用 Vuex 来管理应用的状态,特别是对于较大型的 Vue 应用程序。
    • ( ) CSS Pre-processors: 是否需要支持 CSS 预处理器,如 Sass 或 Less,来增强 CSS 的编写和管理能力。
    • (*) Linter / Formatter: 是否启用代码规范检查和格式化工具,如 ESLint。这有助于保持代码风格的一致性,并捕捉一些常见的代码错误。
    • ( ) Unit Testing: 是否需要单元测试框架,用于测试应用程序中的各个单元(组件、函数等)。
    • ( ) E2E Testing: 是否需要端到端(E2E)测试框架,用于模拟用户在应用程序中的实际操作和场景。
  • 如何选择:

    • 使用空格键选择你需要的功能。
    • 使用 a 键来全选所有功能。
    • 使用 i 键来反转选择,即未选择的变为选择,已选择的变为未选择。
    • 按下回车键(Enter)确认你的选择并继续设置下一步。
  • 多数情况下,至少应该选择 Babel 和 Linter / Formatter 来确保项目的基本质量和跨浏览器兼容性。其余的选择则根据项目的规模、复杂性和开发团队的技术栈来决定。

5.4 Choose a version of Vue.js

  • 选择vue3,最新版本

5.5 Use history mode for router?

  • 是否使用历史模式(history mode)来管理路由?(在生产环境中需要正确设置服务器以支持索引回退)

    历史模式(history mode)哈希模式(hash mode) 是 Vue Router 提供的两种不同的路由模式:

  • 哈希模式

    • 默认模式,使用 URL 的 hash(#)来模拟一个完整的 URL,例如 http://example.com/#/about
    • 不需要特殊的服务器配置,可以直接在所有服务器环境中使用。
  • 历史模式

    • 使用 HTML5 History API 来管理路由,URL 看起来像正常的 URL,例如 http://example.com/about
    • 这种模式在视觉上更加清晰,但是在生产环境中需要服务器的支持。具体来说,需要服务器配置来确保当用户刷新页面或直接访问某个 URL 时,服务器能够正确地回退到你的应用的入口点(通常是 index.html 文件),而不是返回 404 错误。
  • 服务器配置

  • 当你使用历史模式时,服务器需要配置,以确保在任何路由路径下刷新页面时,能够正确地加载你的单页面应用(SPA)。这通常涉及配置服务器以将所有路径都重定向到你的入口文件(例如 index.html),然后让前端路由接管处理页面的加载和路由切换。

5.6 Pick a linter/formatter config

  • 这些选项是关于代码规范检查和格式化工具 ESLint 的不同配置选项

  • ESLint with error prevention only:

    • 这个选项只会配置 ESLint 来检测并阻止可能导致错误的代码模式,但不会强制统一的代码风格或格式。
    • 适用场景:适合对代码风格没有特别要求,但希望确保代码质量和错误检测的项目。
  • ESLint + Airbnb config:

    • 使用 Airbnb 公司开发的 JavaScript 代码风格和最佳实践配置。Airbnb 的配置非常严格,包括了很多规则和约定,旨在提高代码质量和可维护性。
    • 适用场景:适合大多数项目,特别是团队较大或者想要使用流行的标准化配置来确保代码质量和一致性的项目。
  • ESLint + Standard config:

    • 使用 Standard 配置,这也是另一种流行的 JavaScript 代码风格和规范。Standard 风格比 Airbnb 更加简洁,通常更容易上手。
    • 适用场景:适合希望使用简单、直接的代码风格和规范的项目。
  • ESLint + Prettier:

    • 这个选项会集成 ESLint 和 Prettier。ESLint 负责代码质量和错误检查,而 Prettier 负责代码的格式化。
    • 适用场景:适合希望代码风格和格式化都能得到管理的项目。Prettier 提供了强大的自动格式化功能,能够保持整个团队的代码风格一致。

5.7 Save this as a preset for future projects?

  • 是否要保存为这个项目作为一个模板保存?

5.8 Lint on save

5.9 In package.json

创建成功

6、使用webstorm打开创建好的项目,进行编写

7、启动开发服务器

  • 如果在 package.jsonscripts 中,dev 脚本依赖于某些模块或者工具,那么在第一次运行或者更新依赖后,确实需要运行 npm install 来确保依赖的包已经安装到本地的 node_modules 目录中。
  • 当你已经安装了所有依赖,并且没有新增或更新依赖时,通常直接运行 npm run dev 就可以启动开发环境了,因为依赖已经存在于本地的 node_modules 中。
bash 复制代码
npm run dev

访问网址:http://127.0.0.1:5173/index

8、将应用发布到生产环境

  • 当你运行 npm build 时,Vue CLI 会启动其构建服务,根据你项目中的配置(如 vue.config.js 文件)来进行构建,生成最终的构建文件供部署使用。
  • 此命令会在 ./dist 文件夹中为你的应用创建一个生产环境的构建版本。 把dist文件夹的东西复制粘贴到后端项目的resources/static目录下,连接前后端......(此处涉及到前后端分离的知识,另说)
bash 复制代码
npm build

9、Vue项目结构

bash 复制代码
my-vue-app/
├── node_modules              # 项目的所有依赖包
├── public/                  # 静态资源目录
│   ├── index.html           # 入口 HTML 文件
│   └── ...
├── src/                     # 源代码目录
│   ├── assets/              # 静态资源如图片、字体等
│   ├── components/          # Vue 组件
│   ├── views/               # 页面视图组件
│   ├── router/              # 路由配置
│   ├── store/               # Vuex 状态管理
│   ├── services/            # 后端 API 服务
│   ├── styles/              # 全局样式
│   ├── utils/               # 工具函数
│   ├── App.vue              # 根组件
│   └── main.js              # 入口 JS 文件
├── tests/                   # 测试文件目录
├── .eslintrc.js             # ESLint 配置文件
├── .babelrc                 # Babel 配置文件
├── .gitignore               # 指定了 Git 在版本控制中忽略的文件和目录
├── babel.config.js          # 编译器Babel的配置
├── package.json             # npm 包管理文件
├── README.md                # 项目说明文件
├── vue.config.js            # 自定义 Vue CLI 的配置
相关推荐
new出一个对象3 小时前
uniapp接入BMapGL百度地图
javascript·百度·uni-app
你挚爱的强哥4 小时前
✅✅✅【Vue.js】sd.js基于jQuery Ajax最新原生完整版for凯哥API版本
javascript·vue.js·jquery
y先森5 小时前
CSS3中的伸缩盒模型(弹性盒子、弹性布局)之伸缩容器、伸缩项目、主轴方向、主轴换行方式、复合属性flex-flow
前端·css·css3
前端Hardy5 小时前
纯HTML&CSS实现3D旋转地球
前端·javascript·css·3d·html
susu10830189115 小时前
vue3中父div设置display flex,2个子div重叠
前端·javascript·vue.js
IT女孩儿6 小时前
CSS查缺补漏(补充上一条)
前端·css
吃杠碰小鸡7 小时前
commitlint校验git提交信息
前端
天天进步20157 小时前
Vue+Springboot用Websocket实现协同编辑
vue.js·spring boot·websocket
虾球xz7 小时前
游戏引擎学习第20天
前端·学习·游戏引擎
我爱李星璇8 小时前
HTML常用表格与标签
前端·html