场景
公司项目很长时间了,然后又是多人开发。导致项目依赖不清楚,不规范。
不清楚的是有些依赖,组员安装时,使用的是npm install webpack
本次报错显示vue-cli-service serve 不是内部或外部命令,也不是可运行的程序。和vue is undefined
npm install webpack --save
这个命令会将webpack添加到你的项目的dependencies(依赖)中。这意味着你的项目在
生产环境下需要用到webpack,这个依赖在项目运行时是必须的。npm install webpack
这个命令会将webpack安装到你的项目中,但不会更新你的package.json文件。这意味着,
如果别人在克隆你的项目并运行npm install的时候,webpack可能并不会被安装,除非他们
也运行过npm install webpack。所以,如果你希望你的项目依赖webpack,并且希望这个依赖能被其他人方便地复制和使用,那么你应该使用npm install webpack --save。这样,当别人克隆你的项目并运行npm install的时候,webpack会自动被安装。
这样有些插件就没有被package.json文件接收记录。不过这样的问题有些还不影响项目跑起来。因为有些依赖你没安装,run的时候,项目运行会报错,提示你安装这个依赖。但是最好还是使用--save结尾。作为项目负责人,你需要做这一个工作,然后将不规范的操作告知同事。
受影响的是哪些全局依赖,比如vue-cli、webpack。
每次问题就是webpack本地版本和项目版本不一致,导致run不起来。
解决
将 "webpack": "^4.3.0",和一个 "vue-loader": "^14.2.4",补充到package.json中后,删除依赖包,重新npm install,成功运行。不过你要保证vue在你的全局版本跟你的项目匹配。如果不知道的话,每个大版本试一试也可以。
踩坑
刚开始以为是依赖版本不对,因为"vue": "^2.5.16",这个记录有四种:
第二种"vue": "2.5.16",第三种"vue": "~2.5.16",第四种"vue": "^2.*",
所以以为是这种导致某个依赖版本不一致,因为有时候在一台新的电脑上多尝试几次是可以运行的,这个也就导致每次想解决的时候偷懒了,还有就是直接复制整个包过来了。没有深入去分析。最近也是学习webpack才重新研究。
当依赖版本修改、遗漏依赖补上,重新install都解决不了之后。我对比了vue、vue-loader、node-sass、webpack、sass-loader、vue-template-compiler、等插件版本后,并且挨个尝试,跟新版本后重新运行,最后才锁定webpack的问题
本次问题解决的过程还是很艰难。尝试机会给自己了,却没有坚持。持续精进吧
解决办法有些笨拙,希望有大神指点一下,如果是你的话,你的解决思路是什么样,或者你也遇到这样的问题。你是怎么解决的。谢谢了。
如果对你有用,给给杯咖啡吧。