在package.json中是否有任何简短的命令将一个模块从devDependencies移动到dependencies ?

我发现自己总是这样做:

npm uninstall <module_name> --save-dev 
npm install <module_name> --save

有没有更简单的方法?


当前回答

从devDependencies转移到dependencies的简写(prod):

npm i <module_name> -P

如果你想做相反的事情(即将一个模块从dependencies移动到devDependencies),只需做:

npm install <module_name> --save-dev

或简写:

npm i <module_name> -D

其他回答

纱:

将一个模块从devDependencies移动到dependencies:

yarn remove <module_name> --dev && yarn add <module_name> 

将一个模块从dependencies移动到devDependencies:

yarn remove <module_name> && yarn add <module_name> --dev

正如评论中所说,该命令实际上删除了模块,并将其重新安装到新位置。

使用npm install的问题是你最终会得到更新的版本。对我有用的是:

将它们移动到预期的部分(开发或prod) 从node_modules文件夹中删除它们 执行npm install

这使得所有版本都保持完整。

使用npm或yarn命令的问题是,重新添加的版本有可能与当前使用的版本不同。如果这就是你想要的——无论是搬家还是升级——那么就使用公认的答案吧。

如果没有,只需手动编辑您的包。将行从devDependencies对象移动到dependencies对象(如果需要的话创建它)。你也可以走另一个方向。

锁文件不包含任何关于是否依赖于prod或dev的信息,因此不需要更新。你可以在之后进行npm/yarn安装来修复锁文件中的任何标志。

如果您的项目还没有一个lockfile或shrinkwrap文件,您可以简单地移动package.json中的相应行。

(我不建议不使用锁文件)

从devDependencies转移到dependencies的简写(prod):

npm i <module_name> -P

如果你想做相反的事情(即将一个模块从dependencies移动到devDependencies),只需做:

npm install <module_name> --save-dev

或简写:

npm i <module_name> -D