2022年4月15日
# 问题及解决
给项目添加husky支持的时候遇到一个问题。按照官网的husky命令弄,结果给我一直显示我命令不对,给我显示帮助文档。
一开始我以为是husky的类库有bug,然后去看了husky的源码,后来发现是nodejs 的环境变量 process.argv 把我的 "npm run lint" 直接分解了,导致husky中对参数的个数进行判断时出现了问题。
不知道是哪个环节出了问题,我这个process.argv 是真蠢,看到打印的结果,应该直接就是按照空格来分割参数来着。
然后解决的方式是:
npx husky add .husky/pre-commit
然后在pre-commit 文件中加一个 npm run lint,但这样不是很友好,需要你每次去文件中改。
最后解决的方式是:
npx husky add .husky/pre-commit echo
echo npm run lint >> .husky/pre-commit
通过命令创建要给空的文件,然后通过echo 将命令追加到这个文件中去,最终证实有效。
# 总结
可能是node环境有问题,也可能是process.argv 这个变量被什么类库中被重写了,所以导致参数列表不对,从而使得husky不能按照官方文档中正确解析参数而调用相应的api。
不过通过我这种方式,无论是正确还是错误的环境下,都能正常操作的使用husky。
上次更新时间: 10年18月2023日 01时57分53秒