当前位置: 首页 > news >正文

前端-项目工程化(快速理解并会用)

先理解

项目工程化= 用系统化的方法和工具,把代码变成一个可维护、可协作、可上线的完整项目。

项目工程化的目标:把“写页面”变成“做产品”。

项目工程化包括:

①模块化

②自动化,自动构建、打包、热更新

③规范化:eslint代码规范等

会用

理解脚手架:一个可以快速创建vue项目的架子,集成了webpack配置,可以开箱即用、零配置。

安装脚手架的命令:  npm install -g @vue/cli

 以下是使用vue create project-name命令方式创建一个项目的步骤,详细介绍了各种配置选择说明与推荐。

1. 执行命令

vue create my-vue-project

首次运行,会提示你:

Please pick a preset:
❯ default (Vue 3) ([Vue 3] babel, eslint)
  default (Vue 2) ([Vue 2] babel, eslint)
  Manually select features

 2. 选项详解(逐步讲解你该怎么选)

1. 选择预设(Preset)

你有三个选择:

选项

说明

适合情况

default (Vue 3)

快速创建 Vue 3 项目

想尝试 Vue 3,功能需求不多

default (Vue 2)

快速创建 Vue 2 项目

要用 Vue 2,如 Element UI 项目

Manually select features

自定义配置

想选择 TypeScript、Vuex、Router 等

👉推荐:选择 Manually select features,更有掌控感,适合长期项目。


2. 选择功能模块(features)

接下来会弹出类似这样的多选菜单:

Check the features needed for your project:
(*) Babel
( ) TypeScript
( ) Progressive Web App (PWA) Support
(*) Router
(*) Vuex
(*) CSS Pre-processors
(*) Linter / Formatter
( ) Unit Testing
( ) E2E Testing
各项说明

功能模块

说明

是否建议勾选

Babel

转译 ES6+ 语法,兼容旧浏览器

✅ 必选(默认)

TypeScript

使用 TS 写 Vue

视你需求而定

PWA Support

支持离线缓存、安装成 App 的功能

❌ 初期可跳过

Router

Vue Router 路由功能

✅ 建议勾选

Vuex

状态管理工具(Vue3 可用 Pinia 替代)

✅ Vue 2 项目建议勾选

CSS Pre-processors

是否使用 SCSS / Less 等

✅ 建议勾选(选 SCSS)

Linter / Formatter

ESLint + Prettier,强制代码风格统一

✅ 建议勾选

Unit Testing

单元测试(Jest)

❌ 初学者可跳过

E2E Testing

端到端测试(Cypress)

❌ 可跳过

👉 常见选择组合:

✔ Babel
✔ Router
✔ Vuex
✔ CSS Pre-processors
✔ Linter / Formatter

3. 选择 Vue 版本

  3.x
> 2.x

是否使用history模式

Use history mode for router? (Requires proper server setup for index fallback in production)

这个是问你是否用 history 模式:

  • Yes:URL 比较干净(推荐)
  • No:URL 带 #

👉 一般选 Yes(除非你部署在不支持 history 的服务器)

选n代表使用hash模式

接着会问:

Pick a CSS pre-processor
❯ Sass/SCSS (with dart-sass)
  Less
  Stylus

👉 推荐选:Sass/SCSS


4. 选择 Linter(代码规范)

Pick a linter / formatter config:
❯ ESLint with error prevention only
  ESLint + Airbnb config
  ESLint + Standard config
  ESLint + Prettier

👉 推荐选:Standard config标准风格

然后它会问你保存时自动格式化吗:

Pick additional lint features:
(*) Lint on save
(*) Lint and fix on commit

👉 默认勾选即可,帮助你统一风格。


5. 配置保存

最后它会问你:

Where do you prefer placing config for Babel, ESLint, etc.?
❯ In dedicated config files
  In package.json

👉 推荐选:In dedicated config files,把配置文件生成到单独的文件中,更清晰易管理。

然后:

Save this as a preset for future projects? (y/N)

👉 选 N 即可(也可以保存为自己的一套模板)。

 另外总结

从0创建一个前端项目,记住以下三种创建方式就ok了

命令

Vue版本

构建工具

配置丰富

适合谁

vue create project-name

Vue2 / 3

webpack

✅ 丰富

要求全套功能、传统项目

npm create vue@latest

Vue 3

Vite

✅ 适中

推荐方式,主流项目

npm create vite@latest

Vue 3等

Vite

❌ 精简

轻量项目、探索性项目

第一种前面已经详细介绍

第二种执行页面如下

相关文章:

  • 【教程】MacBook 安装 VSCode 并连接远程服务器
  • 在深度学习中,如何统计模型的 ​​FLOPs(浮点运算次数)​​ 和 ​​参数量(Params)
  • Tiktok 关键字 视频及评论信息爬虫(1) [2025.04.07]
  • 从GPU加速到深度学习革命 —— AlexNet论文概述
  • 面试题vue
  • Compose Multiplatform+Kotlin Multiplatfrom 第五弹跨平台 截图
  • 深度学习与神经网络 | 邱锡鹏 | 第四章学习笔记 神经网络
  • centos操作系统如何更换yum镜像源
  • git pull 和 git fetch
  • ffmpeg基础知识入门
  • 力扣Hot100题,刷题
  • 红黑树(Red-Black Tree)核心知识点与面试高频问题
  • 《灵珠觉醒:从零到算法金仙的C++修炼》卷十·混元大罗(91)混元无极破 NP - 旅行商问题(动态规划 + 状态压缩)
  • 遇到无法连接香港服务器可能是什么原因导致的呢
  • 安宝特应用 | 工业AR技术赋能高端制造领域验收流程数字化转型
  • #在docker中启动mysql之类的容器时,没有挂载的数据...在后期怎么把数据导出外部
  • 浅谈filebeat实现日志采集
  • HTML5 新元素:革新网页开发体验
  • 人工智能-深度学习导学-01
  • Selenium自动化:玩转浏览器,搞定动态页面爬取
  • 关税影响下沃尔玛想涨价,特朗普施压:自行承担,别转嫁给顾客
  • 上海这个咖啡文化节首次“走出去”,率本土品牌亮相英国伦敦
  • 广西北流出现强降雨,1人被洪水冲走已无生命体征
  • 联合国:欢迎俄乌伊斯坦布尔会谈,希望实现全面停火
  • 对谈|“大礼议”:嘉靖皇帝的礼法困境与权力博弈
  • 国税总局上海市税务局通报:收到王某对刘某某及相关企业涉税问题举报,正依法依规办理