折腾了一下午,创建我终于把Vue项目跑起来了。创建同事在旁边说了句:"你还在用webpack?创建"我愣了一下,查了下文档,创建这才意识到Node.js生态早就变了。创建
说回正题。创建用Node.js创建Vue项目,创建最直接的创建方式是npm。打开终端,创建敲下npm create vue@latest,创建回车,创建就这么简单。创建这个命令会调用官方脚手架,创建问你项目名、创建要不要TypeScript、创建路由、Pinia这些选项。选完,依赖装好,一个基础项目就成型了。
但真用起来,你会发现几个坑。第一,Node版本得够新。我用的Node 16跑Vue 3的脚手架,直接报错——ERR_OSSL_EVP_UNSUPPORTED。这玩意儿是OpenSSL版本不兼容导致的,升级到Node 18以上才消停。第二,npm安装速度慢得让人抓狂,尤其是网络不好的时候。我换成了pnpm,快得不止一点半点,磁盘占用也小。
项目结构这块,Vue官方脚手架默认给你一套清晰的目录。src下面分components、views、router、stores,逻辑清楚。但我个人习惯是再加一层api目录,专门放接口请求。不然组件里直接写axios,后期维护起来想死的心都有。
有个细节值得注意——Vite成了默认构建工具,替代了之前的webpack。这玩意儿开发服务器启动速度快到离谱,热更新几乎秒级响应。你改一行代码,浏览器立刻刷新,那种顺畅感是webpack给不了的。不过生产构建的配置和webpack差别挺大,别拿老经验硬套。
我踩过最深的坑是环境变量。Vue项目里用import.meta.env.VITE_API_URL这种写法,而不是process.env。刚开始我把接口地址放在.env文件里,结果死活读不到,后来才发现变量名必须以VITE_开头,否则会被Vite直接忽略。这种小坑,文档里写了,但你不踩一遍根本记不住。
说到路由,Vue Router 4和Vue 3配套使用,写法上变化不小。以前用new Router(),现在得用createRouter()。组件里获取路由参数也从this.$route变成了useRoute()。这些改动不算大,但习惯了旧写法的人容易懵。
状态管理这块,官方推荐Pinia替代Vuex。说实话,Pinia用起来舒服多了——没有mutations那套繁琐流程,直接改state就行,TypeScript支持也好。我重构老项目的时候,把Vuex换掉,代码量直接砍了三分之一。
最后说点实在的。创建Vue项目本身不难,难的是后续的工程化配置。ESLint、Prettier、单元测试、CI/CD,这些才是真正花时间的地方。我的建议是,先用官方脚手架跑起来,别一开始就想着定制一切。等熟悉了默认配置,再逐步调整,这样出问题也好排查。
终端里那行npm run dev敲下去,看到"VITE ready in 300ms"的提示,那种感觉挺爽的。但别忘了,这只是开始。真正的挑战在于,怎么把项目结构维护好,让代码不随着功能增加而腐烂。工具只是起点,工程化思维才是核心。

喜欢
讨厌