Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/npm/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Npm 什么是`";发展";true`in package-lock.json for?_Npm_Package.json - Fatal编程技术网

Npm 什么是`";发展";true`in package-lock.json for?

Npm 什么是`";发展";true`in package-lock.json for?,npm,package.json,Npm,Package.json,在package lock.json文件中,“dev”true是什么意思 在我的情况下,当我执行npm操作时,它会自动更新 我们如何将其从npm文档中删除 如果为true,则此依赖关系要么是顶层模块的开发依赖关系,要么是顶层模块的可传递依赖关系。对于同时是顶层开发依赖项和顶层非开发依赖项的可传递依赖项的依赖项,这是错误的 我认为这一段试图说明如何分配包依赖项的dev:true 直接开发依赖->开发:true 仅使用间接开发依赖项->dev:true 然而,直接依赖于开发 它还具有间接的非开发依

package lock.json
文件中,“dev”true是什么意思

在我的情况下,当我执行
npm
操作时,它会自动更新

我们如何将其从npm文档中删除

如果为true,则此依赖关系要么是顶层模块的开发依赖关系,要么是顶层模块的可传递依赖关系。对于同时是顶层开发依赖项和顶层非开发依赖项的可传递依赖项的依赖项,这是错误的


我认为这一段试图说明如何分配包依赖项的dev:true

  • 直接开发依赖->开发:true
  • 仅使用间接开发依赖项->dev:true
  • 然而,直接依赖于开发 它还具有间接的非开发依赖->否“dev:true”
换句话说,一旦开发依赖项包被非开发包间接依赖,它就应该是dev:false,因此它将被包括在构建过程中。此规则的目的是确保非开发包所需的包不会具有“dev:true”

此外,如果通过“npm install-D”安装,那么包将作为开发包安装,因此不会发生“dev:true”更改。但是,如果通过“npm install”安装,这可能会删除许多现有依赖项的“dev:true”属性

例如,我在项目中运行“npm install-D bestzip”,结果是:

  • 53带有“dev”的依赖项:添加了true
运行“npm安装bestzip”,结果是:

  • 53不带“dev”的依赖项:添加了true
  • 43已删除现有依赖项的“dev”:true属性

因此,在回答您的第一个问题时,
包锁中的
“dev”:true
。json
表示在
生产模式下运行时,
npm install
/
npm ci
不会安装此依赖项

将依赖项仅用于本地开发环境,并标记为
“dev”:true
,然后在CI中使用
--production
,可能会节省一些构建时间

从文件:

默认情况下,
npm install
将安装以下列出的所有模块:
package.json中的依赖项

使用
--production
标志(或当
节点\u ENV
环境 变量设置为
生产
),npm将不安装列出的模块 在
devDependencies


关于
package lock.json
,有很多谜团。除了
dev
之外,hash有时有一个较长的版本和一个较短的版本。你能简单地解释一下吗?为什么我们需要它?我的
package lock.json
文件在不断变化。在大多数情况下唯一的区别是包含或rem“dev:true”的椭圆形!鉴于其声称的目的,我当然不会在“devdependency”和“devdependency”之间移动依赖项,因此我无法理解为什么会看到这种变化。简化版本:如果包作为dev依赖项添加,并且也被dev依赖项中的其他包使用,那么
dev:true
。如果at lea需要该包st one package from dependencies-npm将其切换为
dev:false
。一个可传递的依赖关系示例是:如果packageA依赖packageB作为
开发
依赖关系,而packageB依赖packageC作为
开发
依赖关系,那么packageC是packageA的可传递依赖关系。我们不能这样说,因为某个依赖项位于package.json中的
“devdependences”:{..}
下,如果我们运行
npm安装