导读:本期聚焦于柬埔寨程序员创作的《Vue CLI中文教程怎么做?从安装配置到项目创建与常见坑一次讲清》,敬请观看详情。Vue CLI是搭建Vue项目的官方脚手架工具,它帮开发者省去了手动配置Webpack、Babel、ESLint的繁琐过程。这篇文章将系统讲解Vue CLI的安装方法、vue create命令的参数选择、preset预设的使用技巧,以及vue.config.js中常见配置项的写法,比如代理设置、路径别名和打包优化。同时整理了实际使用中容易踩的坑,例如Node版本不兼容、安装速度慢、ESLint报错过多等问题,并给出对应的解决办法。无论你是刚接触Vue的新手,还是想规范团队项目结构的前端开发者,都可以参考这份中文教程快速上手。

Vue CLI是Vue官方提供的一套标准化项目脚手架工具,能够快速生成带有完整工程化配置的项目骨架。相比手动搭建Webpack环境,使用Vue CLI可以节省大量时间,同时保证项目结构规范、配置统一。本文将从安装、项目创建、核心配置、常见问题四个方面,详细讲解Vue CLI的使用方法和避坑技巧,帮助你一次性掌握这套工具。

一、Vue CLI的安装与前置准备

安装Vue CLI之前,首先要确认本机的Node.js版本。Vue CLI 4.x要求Node 8.9以上,而Vue CLI 5.x要求Node 12.0以上,推荐使用LTS长期支持版本。可以通过下面的命令检查版本:

node -v
npm -v

确认Node版本没问题后,使用npm全局安装Vue CLI。安装命令很简单,一行即可完成:

npm install -g @vue/cli
# 或者使用yarn安装
yarn global add @vue/cli

安装完成后,执行vue --version查看版本号。如果命令能正常输出版本,说明安装成功。如果提示vue不是内部或外部命令,通常是全局安装路径没有加入系统环境变量导致的,Windows用户可以在npm的全局安装目录中找到vue.cmd文件,把对应路径加入PATH即可解决。

这里有一个常见的坑需要提前说明:如果之前安装过旧版本的vue-cli(2.x版本),包名是vue-cli而不是@vue/cli,两者会冲突。需要先执行npm uninstall -g vue-cli卸载旧包,再安装新版本,否则执行vue create时会报错。

二、使用vue create创建项目的完整流程

安装好脚手架后,进入你想存放项目的目录,执行创建命令:

vue create my-project

执行后命令行会给出几个选项。第一项是默认预设(Default preset),包含Babel和ESLint,适合快速开始;第二项是手动选择特性(Manually select features),推荐有经验的开发者选择这一项,可以自由挑选需要的模块。

手动模式下可选的特性包括:Babel转译、TypeScript支持、PWA渐进式应用、Vue Router路由、Vuex或Pinia状态管理、CSS预处理器、Linter代码检查以及单元测试和端到端测试框架。选择时用方向键移动,空格键勾选或取消,回车确认。一个典型的中小型项目通常选择Babel、Router、Vuex、CSS Pre-processors和Linter这几项就够了。

接下来CLI会追问一系列细节问题,比如是否使用history模式路由、选择哪种CSS预处理器(Sass或Less)、ESLint的规则等级、配置文件是放在独立文件还是package.json中等。全部回答完成后,CLI会询问是否把这个选择保存为preset预设。保存后下次创建项目可以直接复用,团队协作时也能保证配置统一,这个功能非常实用。

创建完成后,进入项目目录并启动开发服务器:

cd my-project
npm run serve

浏览器打开命令行提示的地址(默认是http://localhost:8080),看到Vue的欢迎页面就说明项目搭建成功了。

三、vue.config.js核心配置详解

Vue CLI 3以后,Webpack的复杂配置被封装起来了,开发者只需在项目根目录创建一个vue.config.js文件,通过简洁的配置项就能覆盖默认行为。下面是一个包含常用配置的完整示例:

const { defineConfig } = require('@vue/cli-service')

module.exports = defineConfig({
  // 部署在子路径时需要修改,例如部署到 /app/ 目录下
  publicPath: process.env.NODE_ENV === 'production' ? './' : '/',
  // 打包输出目录
  outputDir: 'dist',
  // 开发服务器配置
  devServer: {
    port: 8080,
    open: true,
    proxy: {
      '/api': {
        target: 'http://localhost:3000',
        changeOrigin: true,
        pathRewrite: { '^/api': '' }
      }
    }
  },
  // 路径别名
  configureWebpack: {
    resolve: {
      alias: {
        '@': require('path').resolve(__dirname, 'src')
      }
    }
  }
})

其中proxy代理配置是前后端联调时最常用的功能。开发环境下浏览器存在同源策略限制,前端页面跑在8080端口,后端接口在3000端口,直接请求会报跨域错误。通过上面的代理配置,所有以api开头的请求会被转发到3000端口,并且pathRewrite会把前缀去掉,后端收到的就是干净的接口路径。

路径别名同样重要。默认情况下CLI已经提供了@指向src目录的别名,代码中写import HelloWorld from '@/components/HelloWorld.vue'比一长串相对路径清晰得多。如果项目层级较深,还可以追加更多别名,例如把@views指向src/views目录。

打包优化方面,可以在configureWebpack中配置splitChunks拆分第三方依赖,或者通过chainWebpack做更精细的修改。同时建议在package.json中把现代模式生产构建命令加上,打包时会生成兼容旧浏览器的版本和现代版本,减少体积。

四、常见报错与避坑建议

第一类常见问题是安装缓慢或失败。npm默认源在国内访问不稳定,建议切换为国内镜像源,例如执行npm config set registry https://registry.npmmirror.com。如果项目依赖安装到一半卡住,可以删除node_modules目录和package-lock.json文件后重新安装。

第二类问题是ESLint报错过多导致编译失败。新手经常被满屏的缩进、分号错误困扰。可以在创建项目时选择基本配置规则,或者在项目运行时执行vue ui打开图形化管理界面,在插件管理里调整Lint规则。如果确实不想要强校验,也可以在vue.config.js中设置lintOnSave: false关闭保存时检查。

第三类问题是Node版本过高导致的依赖报错。Node 17以上版本改变了OpenSSL的默认行为,一些旧项目启动时会报digital envelope routines::unsupported错误。解决办法是使用nvm切换到Node 16,或者临时设置环境变量NODE_OPTIONS为--openssl-legacy-provider再启动项目。

最后还有一些实用建议:善用vue ui图形化界面管理项目,比命令行更直观;使用vue inspect命令可以查看最终的Webpack完整配置,方便排查问题;团队项目中把预设保存成远程preset或者放到代码仓库中共享,避免每个人配置不一致。掌握了这些内容,Vue CLI基本就能用得得心应手了。

Vue CLI脚手架前端工程化修改时间:2026-08-31 07:02:56

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。