织梦调用wordpress,网站图片都是站外连接对seo,沈阳网站专业,网站做聚合是啥意思depcheck检查项目缺失的依赖 depcheck介绍与安装介绍安装 depcheck使用基础使用注意 进阶使用 删除多余的依赖注意 depcheck介绍与安装
介绍
工作中#xff0c;以下的场景恐怕大家都有经历过#xff1a; 从代码仓库上面 clone 的项目#xff0c;自己本地一运行就报错… 用… depcheck检查项目缺失的依赖 depcheck介绍与安装介绍安装 depcheck使用基础使用注意 进阶使用 删除多余的依赖注意 depcheck介绍与安装
介绍
工作中以下的场景恐怕大家都有经历过 从代码仓库上面 clone 的项目自己本地一运行就报错… 用新电脑运行旧项目各种报错…明明另一台电脑运行的好好的 明明这个项目在公司电脑上运行正常用我自己的电脑运行就各种错误运行不起来 项目在别人那里运行的好好地拿到自己这边就跑不起来了… 前端在项目开发中基本都是我们自己执行一下mpm i 来安装项目中的package.json文件中的依赖。 但是多多少少会遇见依赖安装完了但是 npm run serve 却跑不起来项目的问题这种情况基本都是因为依赖没有安装完全有时候就算没安装成功也不提示或者提示了没注意到这时候使用 【depcheck】 来帮助你进行项目依赖自检标识出你缺少安装package.json文件中的哪些依赖或者提示出哪些package.json文件中的依赖你代码里并没有用到。
安装
你可以参考一下npm官网的介绍 depcheck-npm 实际也就是直接npm install -g depcheck
depcheck使用
基础使用
在项目目录下直接执行命令 depcheck 或者 depcheck 你的项目目录路径
注意
depcheck有时候会提醒你说一些依赖没用到可以删掉但是vue项目肯定有用到这几个的所以这里其实并不太准确别完全相信它哈。 根据运行结果显示我们就能得到没有用到的本地依赖开发依赖缺失的依赖。所以我们可以按照他的提示来安装一下依赖项目就能够运行啦 进阶使用
depcheck [directory] [arguments] 1、第一个[directory]参数是指项目的根目录文件所在的位置。如果未指定则默认为当前目录一般不写如果写参考上面。 2、第一个[arguments]参数有以下的选择 –skip-missing[true | false] 默认false表示是否检测Missing的依赖包 –ignore-bin-package[true | false] 默认false表示是否忽略包含bin条目的包 –json 表示所有包的检测结果以 json 格式输出大概就是XX包在哪些文件使用了{“包名”: [“path1”,“path2”]} –ignores“eslint,babel-” 表示要忽略的包名称逗号分隔比如 depcheck --ignores“eslint,babel/,babel-*” –ignore-path 表示要忽略的文件的模式的文件的路径比如 depcheck --ignore-path.eslintignore –ignore-dirs 已经弃用使用 --ignore-patterns 替代表示要忽略的目录名逗号分隔–ignore-dirsdist,coverage. –ignore-patterns 表示要忽略的用逗号分隔的模式描述文件比如depcheck --ignore-patternsbuild/Release,dist,coverage,*.log. 如果觉得每次调用时去写这个参数太麻烦也可以在项目中创建一个.depcheckrc文件然后直接把这些配置写进去每次执行都会带上这些配置了 更多进阶操作请查看官方文档depcheck-npm 删除多余的依赖
根据depcheck检测出来的内容我们可以看一些没有用的依赖经过自己核对后确认没有用到的就可以删掉了。 npm uninstall 包名 注意不要直接去 package.json 中删除因为 npm 提供自动生成 package-lock.json 锁包功能你直接去json文件中去删没用的。package.json 和 package-lock.json 保证了大家在协同开发的时候所用的依赖包和依赖包版本是一致的。当你的项目新增或者减少了依赖包要把 package.json 和 package-lock.json 一起提交这样别人拉取代码npm i 后就能得到和你一模一样的依赖包以及依赖包版本
注意 你自己本地uninstall依赖后一定要自己再运行以下没有问题不报错再提交到仓库不然把别人坑了等着被阿鲁巴。 删除多余的依赖包只是会提升了 npm i 的速度并不会提升打包的速度也不会减小打包后 node_modules 的体积因为没有使用的包本来也不会被打进去的