网站开发一般流程,网站301跳转怎么做的,网站建设给客户看的ppt,网站建设总体目标一、升级依赖版本
1、检查过时依赖
npm outdated
2、根据具体情况#xff0c;选择安全更新或全部更新到最新版本
2.1 安全更新#xff08;不破坏依赖间的联系#xff09;
npm update
2.2 全部更新到最新版本
首先输入命令#xff1a;
npx npm-check-updates -u
执…一、升级依赖版本
1、检查过时依赖
npm outdated
2、根据具体情况选择安全更新或全部更新到最新版本
2.1 安全更新不破坏依赖间的联系
npm update
2.2 全部更新到最新版本
首先输入命令
npx npm-check-updates -u
执行完后如果之前没安装会提示安装 npm-check-updates 插件输入 y 同意。
运行完成后会在控制台列出各依赖即将升级的情况可以选择执行 npm install 来进行升级操作。
一旦执行升级操作因为会忽略各依赖间的联系性并统一升级到最新版本所以可能会出现升级失败的情况此时会询问用户是否确定并加上 --force 强制升级如果你仍然想升级直接输入强制升级即可。
npm install --force
3、升级完成 二、npm安装依赖遇到冲突的peerDependencies
在新版本的npm中默认情况下npm install遇到冲突的peerDependencies时会失败。
解决办法
使用 --force 或 --legacy-peer-deps 可解决这种情况。 --force会无视冲突并强制获取远端npm库资源当有资源冲突时覆盖掉原先的版本。 --legacy-peer-deps安装时忽略所有peerDependencies忽视依赖冲突采用npm版本4到版本6的样式去安装依赖已有的依赖不会覆盖。 建议用--legacy-peer-deps 比较保险一点
在终端重新安装即可解决会重新生成没有冲突的 package-lock.json 文件
npm install --legacy-peer-deps 三、前端脚手架的间接依赖升级为无风险版本
由于blackduck对于非java项目会对源代码进行依赖扫描因此低版本webpack使用的开发依赖devdependencies中的间接依赖容易产生漏洞告警。
以下提供升级建议
1、在组件库中查询间接依赖库中存在无风险版本情况
npm ls xxx
使用 npm ls 依赖 这条命令会搜索出指定依赖结构因间接依赖低版本 xxx 导致漏洞告警修复建议以组件库建议为准。
根据组件库无风险版本在 package-lock.json 文件中指定间接依赖的大版本或具体版本号使用npm update 依赖 升级指定依赖
npm update xxx
将package-lock.json替换至代码库中
如发生npm install后 package-lock.json 发生变化请升级npm版本至最新 不同 npm 版本下 npm i 的规则 npm 5.0.x 版本不管 package.json 中依赖是否有更新npm i 都会根据 package-lock.json 下载。针对这种安装策略有人提出了这个 issue - #16866 然后就演变成了 5.1.0 版本后的规则。 5.1.0 版本后当 package.json 中的依赖项有新版本时npm install 会无视 package-lock.json 去下载新版本的依赖项并且更新 package-lock.json。针对这种安装策略又有人提出了一个 issue - #17979 参考 npm 贡献者 iarna 的评论得出 5.4.2 版本后的规则。 5.4.2 版本后如果只有一个 package.json 文件运行 npm i 会根据它生成一个 package-lock.json 文件。如果 package.json 的 semver-range version 和 package-lock.json 中版本兼容即使此时 package.json 中有新的版本执行 npm i 也还是会根据 package-lock.json 下载 - 实践场景1。 如果手动修改了 package.json 的 version ranges且和 package-lock.json 中版本不兼容那么执行 npm i 时 package-lock.json 将会更新到兼容 package.json 的版本 - 实践场景2。 2、间接依赖的最新版本仍为风险版本或所有版本均为风险版本情况
在流水线的编译前脚本中的npm run build 后添加以下命令确保开发依赖不进入生产。
rm -rf node_modulesnpm install --production 四、直接依赖漏洞修复
npm audit
该命令是npm6新增的可以允许开发人员分析复杂的代码并查明特定的漏洞。
npm audit 需要包 package.json 和 package-lock.json 文件。它是通过分析 package-lock.json 文件继而扫描我们的包分析是否包含漏洞的。
返回的漏洞数据来源于 Github Advisory Database。
使用该命令必须用npm原始源如果有已知漏洞会展示该漏洞的信息包括漏洞涉及问题、漏洞危险等级、所在依赖包、依赖包的依赖层级、详细信息等 npm audit 衍生命令
# 扫描项目漏洞把不安全的依赖项自动更新到兼容性版本
npm audit fix# 在不修改 node_modules 的情况下执行 audit fix仍然会更改 pkglock
npm audit fix --package-lock-only# 跳过更新 devDependencies
npm audit fix --onlyprod# 强制执行 audit fix 安装最新的依赖项toplevel
npm audit fix --force# 单纯的获取 audit fix 会做的事并以 json 格式输出。
npm audit fix --dry-run --json# 获取详情
npm audit# 以 JSON 格式打印报告
npm audit --json# 安装单个包关闭安全审查:
npm install example-package-name --no-audit
# 安装所有包关闭安全审查 - 运行
npm set audit false - 手动将 ~/.npmrc 配置文件中的 audit 修改为 false