npm可不可以选择性安装部分依赖?

我们在用Vue项目的时候,使用了Cypress做e2e测试。当我们的测试人员写CI流水线时,每次通过npm i; npm run test;来检查单元测试覆盖率,这其实与cypress无关,但每次却需要install,造成速度很慢。这个问题扩大下,就是当我们只专注于做一件事的时候,有许多多余的依赖都是用不上的,怎么做来选择性的为具体做的某一件事选择性地安装部分依赖。

比如说:

npm i --exclude cypress

或者在package依赖里有好多选项可以选择:

{
    // ...
    "dependencies": {},
    "devDependencies": {},
    "CIDependencies": {},
    "anyWantedDependencies": {}
}

当我们安装时,可以选择安装哪一部分依赖:

npm i --dependencies anyWanted
阅读 2.9k
1 个回答
  1. 把那部分依赖放到 optionalDependencies
  2. ci 里面用 npm i --no-optional 安装依赖
  3. 如果测试不需要 devDependencies 里的依赖,用 --production 也可以
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题