问题详情

INFO  Starting development server...
 ERROR  TypeError: Cannot convert undefined or null to object
TypeError: Cannot convert undefined or null to object
    at Function.assign (<anonymous>)
    at uniapp-cli\node_modules\@dcloudio\vue-cli-plugin-uni\lib\chain-webpack.js:53:34
    at Object.tap (uniapp-cli\node_modules\webpack-chain\src\Use.js:14:20)
    at uniapp-cli\node_modules\@dcloudio\vue-cli-plugin-uni\lib\chain-webpack.js:53:12
    at Array.forEach (<anonymous>)
    at uniapp-cli\node_modules\@dcloudio\vue-cli-plugin-uni\lib\chain-webpack.js:22:17
    at uniapp-cli\node_modules\@vue\cli-service\lib\Service.js:268:40
    at Array.forEach (<anonymous>)
    at Service.resolveChainableWebpackConfig (uniapp-cli\node_modules\@vue\cli-service\lib\Service.js:268:26)
    at Service.resolveWebpackConfig (uniapp-cli\node_modules\@vue\cli-service\lib\Service.js:272:48)

问题详情

问题解决过程

问题起因

  • 在使用vue-cli创建uniapp项目,我运行下面命令,是可以跑起来的。
npm install
npm run serve
  • 之后我发现很多没有用的文件,比如说package-lock.json等一些垃圾文件都删掉了,之后又跑了一遍,也是可以跑起来的,我就压缩当作之后的初始化项目文件使用。

问题过程

  • 到了要使用的时候,我就把项目解压出来,又同样运行上面的命令,可以npm install,但是npm run serve 就报错了;
  • 找了很多解决办法,清缓存呀换webpack版本呀,换vue-cli版本等一些列操作。
  • 肯定没有解决撒,解决了,就不会写这个博客来记录一下了。

解决方案

  • 这个方案也是自己碰巧发现的,因为我是在想,本来刚开始可以跑起来,之后删掉文件就跑不起来,我就想是不是删掉某些文件导致的。还好能找到历史的package-lock.json,我就试了一下,之后居然成功了。

总结

  • 错误原因摇摇头就知道了,就是下载的某些依赖的不适配;
  • 项目里面的package-lock.json文件就是用来锁住相关版本信息的;
  • 在以前的项目中,我经常删除package-lock.jsonyarn.lock这些垃圾文件,因为之前没有出现过这样的问题,这次我就删掉。之后就出现了一些列的问题。
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐