npm install cypress和npm install cypress --save-dev的区别是什么
npm install cypress 与 npm install cypress --save-dev 的区别 两者的差异完全来自npm本身的依赖管理规则,安装的Cypress代码包本身没有任何区别:
- 执行
npm install cypress时- npm 5.0.0之前的版本不会自动记录依赖到package.json,5.0及之后的版本默认会将Cypress写入
dependencies字段 dependencies用于记录项目生产环境运行时必需的依赖,这类依赖会随着项目代码打包/上线,缺失会导致生产环境业务无法正常运行
- npm 5.0.0之前的版本不会自动记录依赖到package.json,5.0及之后的版本默认会将Cypress写入
- 执行
npm install cypress --save-dev(可简写为npm i cypress -D)时- Cypress会被写入package.json的
devDependencies字段 devDependencies用于记录仅在开发、测试阶段需要用到的依赖,项目上线生产环境时不需要安装这类依赖
- Cypress会被写入package.json的
Cypress属于前端自动化测试工具,仅会在本地开发调试、CI流水线测试阶段使用,不会出现在生产运行的代码中,因此绝大多数场景下都推荐加
--save-dev参数将其安装为开发依赖。
补充特殊说明:
- 如果你是开发基于Cypress封装的工具类项目,你的工具生产运行时必须依赖Cypress,才需要将Cypress放到
dependencies中 - 生产环境执行
npm install --production时,npm只会安装dependencies下的依赖,跳过所有devDependencies,既可以减少安装体积,也能降低非生产依赖带来的安全风险
内容的提问来源于stack exchange,提问作者sumit goyal
相关产品推荐
相关产品推荐

