这是我参与8月更文挑战的第21天,活动详情查看:8月更文挑战
package-lock.json文件
- lock 顾名思义就是用来锁定依赖包版本的。
- package-lock.json 文件会
固化当前安装的每个软件包的版本,当运行 npm install的时候,会安装固定好的确切的版本。
npm 包相关命令
- 执行
npm list - 仅获取顶层的软件包(即在package.json文件中列出的软件包),则执行
npm list --depth=0 - 查看软件包在npm仓库上的最新可用版本
npm view [package_name] version - 使用
@语法,可以用来安装npm软件包的旧版本。例如:npm install less-loader@5.0.0 - 如果有新的次版本或者补丁版本,并且执行了 npm update 命令,则已安装的版本会被更新,并且 package-lock.json文件也会被新版本填充。但是package.json文件保持不变。
- 运行 npm outdated 命令,可以发觉软件包的新版本。
- 若要将所有软件包更新到新的主版本,则全局地安装
npm-check-updates软件包,然后运行ncu -u这会升级package.json文件的dependencies和devDependencies中的所有版本,以便 npm 可以安装新的主版本。(项目中强烈不建议,执行此操作,谨慎操作。除非项目要求整体版本升级) - 执行
npm uninstall卸载软件包。 - 当使用
npm install <package-name>安装 npm 软件包时,是将其安装为依赖项。该软件包会被自动地列出在 package.json 文件中的dependencies列表下(在 npm 5 之前:必须手动指定--save)。 - 当添加了
-D或--save-dev标志时,则会将其安装为开发依赖项(会被添加到devDependencies列表)。 - 开发依赖是仅用于开发的程序包,在生产环境中并不需要。 例如测试的软件包、webpack 或 Babel。
- 当投入生产环境时,如果输入
npm install且该文件夹包含package.json文件时,则会安装它们,因为 npm 会假定这是开发部署。此时,我们可以设置--production标志,npm install --production来避免安装开发依赖项。
npx
npx是一个非常强大的命令,从 npm 的 5.2 版本(发布于 2017 年 7 月)开始可用。npx可以运行使用 Node.js 构建并通过 npm 仓库发布的代码。- 运行
npx commandname会自动地在项目的node_modules文件夹中找到命令的正确引用,而无需知道确切的路径,也不需要在全局和用户路径中安装软件包。 - npx 无需先安装命令即可运行命令。常见的有:
npx @vue/cli create my-vue-appnpx create-react-app my-react-app
- 也可以使用不同版本的node运行代码,例如:
npx node@10 -v #v10.18.1npx node@12 -v #v12.14.1
npx并不限制使用 npm 仓库上发布的软件包。 例如:npx https://gist.github.com/zkat/4bc19503fe9e9309e2bfaa2c58074d32