NPM package.json 将 * 星号转换为版本

Dag*_*Dag 6 npm package.json

我的模板中有一个包含多个依赖项的 package.json。如果我想创建一个新项目,我会使用我的模板。但是如何将所有*(星号/最新版本)转换为从 npm 下载的固定版本。npm install --save不起作用。

在 npm install 之前(模板 package.json)

"devDependencies": {
  "one": "*",
  "two": "*",
  "three": "*"
}
Run Code Online (Sandbox Code Playgroud)

应转换为以下npm i --save.

"devDependencies": {
  "one": "1.0.0",
  "two": "2.0.0",
  "three": "3.0.0"
}
Run Code Online (Sandbox Code Playgroud)

如何覆盖版本字符串?

Avi*_*Avi 0

根据文档

(*) --> 匹配任何版本

("") --> (只是一个空字符串)与 * 相同

此问题的解决方法是收缩包装(阅读文档以获取更多信息)。您可以使用此命令npm shrinkwrap。这将创建一个 npm-shrinkwrap.json 文件。当您运行该命令时,您会在控制台上看到以下注释(npm notification package-lock.json 已重命名为 npm-shrinkwrap.json。npm-shrinkwrap.json 将用于将来的安装。)。这将提供更新后的软件包版本,无论您在 package.json 中拥有什么。