忘记--保存在npm安装中-如何在package.json中识别和添加缺少的包?

忘记--保存在npm安装中-如何在package.json中识别和添加缺少的包?,npm,package.json,Npm,Package.json,删除package-lock.json和node_模块后,我遇到了几个问题,我发现我安装了很多没有--save或--save-dev的包 我现在想知道如何解决这个问题。我的一些包在我的项目中甚至不需要 我需要确定哪些包是有用的,所以我使用了depcheck 这并不完全像我所希望的那样工作,因为实际上使用了一些“未使用的devdependency”,我不认为缺少的依赖项在这里 depcheck . unused dependencies

删除package-lock.json和node_模块后,我遇到了几个问题,我发现我安装了很多没有--save或--save-dev的包

我现在想知道如何解决这个问题。我的一些包在我的项目中甚至不需要

我需要确定哪些包是有用的,所以我使用了depcheck 这并不完全像我所希望的那样工作,因为实际上使用了一些“未使用的devdependency”,我不认为缺少的依赖项在这里

 depcheck .                    
unused dependencies             
 depcheck                      
 instafeed.js                  
 leaflet                       
 leaflet.icon.glyph            
 v-autocomplete                
 vue2-leaflet                  
unused devDependencies          
 autoprefixer                  
 browser-jsonp                 
 css-mqpacker                  
 cssnano                       
 gulp                          
 gulp-postcss                  
 gulp-sass                     
 laue                          
 lodash.orderby                
 postcss-assets                
 resolve-url-loader            
 sass                          
 sass-loader                   
 v-datatable-light             
 vee-validate                  
 vue-bootstrap-datetimepicker  
 vue-country-region-select     
 vue-instagram                 
 vue-resource                  
 vue-slider-component          
 vue-stack-grid                
 vue-star-rating               
 vue-tel-input                 
 vuejs-datepicker              
missing dependencies            
 laravel-elixir                
 react                         
 react-dom 
例如,我得到了一个关于postss加载器、css加载器、样式加载器等的大量错误,这些错误在这里根本没有出现。我的项目在vuejs中,所以我不知道react在这里做什么

因此,我想用它们的实际版本识别丢失的包(可能来自package-lock.json?),并将它们保存在package.json中

这可能吗

非常感谢,这些可以救我的命:D

编辑:我看到了这篇文章和类似npm安装
ls node\u modules
——save将是一个好的开始,但我想添加一个版本(不再工作)

[编辑]感谢您的回答,我将其添加到test.js文件中并执行了它(node test.js)


现在我有了一个包含所有依赖项的文件,只需将必要的依赖项添加到我的package.json文件中。

类似于
npm安装--save$(ls node\u模块)
类似于
npm安装--save$(ls node\u模块)的内容如何

这可能是一个不好的选择,因为原始版本约束丢失,这将导致项目依赖于嵌套的依赖项。考虑到您忘记了--保存多个包,一个一个地识别丢失的包并保存它们可能是一种更好的方法。这可能不是一个好的选择,因为原始版本约束丢失,这将导致项目依赖于嵌套的依赖项。考虑到您忘记了——保存几个包,逐个识别丢失的包并保存它们可能是更好的方法。
const fs = require('fs');
const packageLock = require('./package-lock.json');
const package = require('./package.json');

package.dependencies = Object.entries(packageLock.dependencies)
.reduce((deps, [dep, { version }]) => Object.assign(deps, { [dep]: version }), {});

fs.writeFileSync('./package-new.json', JSON.stringify(package, null, 2));