有时我们想要锁定 package.json 中的依赖里的子依赖版本,这时就可以采取下面的方法。
    在 package.json 里:

    1. {
    2. "scripts" : {
    3. "preinstall": "npx npm-force-resolutions"
    4. },
    5. "resolutions": {
    6. "lodash": "4.17.21"
    7. }

    然后执行 npm install 。查看 package.lock.json

    1. {
    2. "html-webpack-plugin": {
    3. "requires": {
    4. "lodash": "^4.17.3"
    5. },
    6. "dependencies": {
    7. "lodash": {
    8. "version": "4.17.21"
    9. //...
    10. }
    11. }
    12. }
    13. }

    可以看到这个时候子依赖里的 lodash 版本已经被固定成 4.17.21 版本了。