有没有办法自动构buildNode.js项目的package.json文件

package.json应该手动编辑? 不能像npm这样的程序只是查看文件,查看“require”语句,然后用它把必要的条目放在package.json文件中? 有没有这样的程序?

npm使用package.json文件来了解你的node.js项目。

使用npm init为你生成package.json文件!

它与npm捆绑在一起。 请阅读其文档: https : //docs.npmjs.com/cli/init

另外,还有一个工具可以在你自己的项目中使用,以编程的方式生成这个文件(它是由npm的制造者制作的): https : //github.com/isaacs/init-package-json

首先,跑步

 npm init 

…会问你几个关于你的项目/包的问题(先阅读 ),然后为你生成一个package.json文件。

然后,一旦你有一个package.json文件,使用

 npm install <pkg> --save 

要么

 npm install <pkg> --save-dev 

…安装一个依赖关系,并自动将其添加到您的package.jsondependencies列表中。

(注意:您可能需要手动调整依赖关系的版本范围。)

我只写了一个简单的脚本来收集./node_modules中的依赖关系。 它现在满足我的要求。 这可能会帮助其他人,我把它张贴在这里。

 var fs = require("fs"); function main() { fs.readdir("./node_modules", function (err, dirs) { if (err) { console.log(err); return; } dirs.forEach(function(dir){ if (dir.indexOf(".") !== 0) { var packageJsonFile = "./node_modules/" + dir + "/package.json"; if (fs.existsSync(packageJsonFile)) { fs.readFile(packageJsonFile, function (err, data) { if (err) { console.log(err); } else { var json = JSON.parse(data); console.log('"'+json.name+'": "' + json.version + '",'); } }); } } }); }); } main(); 

就我而言,上面的脚本输出:

 "colors": "0.6.0-1", "commander": "1.0.5", "htmlparser": "1.7.6", "optimist": "0.3.5", "progress": "0.1.0", "request": "2.11.4", "soupselect": "0.2.0", // Remember: remove the comma character in the last line. 

现在,您可以复制并粘贴它们。 玩的开心!

npm init

创buildpackage.json文件,然后使用

ls node_modules/ |xargs npm install --save

填写你在node_modules文件夹中的模块。

编辑:@paldepind指出,第二个命令是多余的,因为npm init现在自动添加你在node_modules /文件夹中的东西。 我不知道这是否一直如此,但现在至less,它没有第二个命令。

命令行

 npm init 

将创buildpackage.json文件

要在依赖项下安装,更新和卸载包到package.json文件中:

命令行

 npm install <pkg>@* --save 

会自动将依赖项下的包的最新版本添加到package.json文件中

EX:

 npm install node-markdown@* --save 

命令行

 npm install <pkg> --save 

还会自动将依赖项下的包的最新版本添加到package.json文件中

如果你需要一个包的特定版本,使用这个命令行

 npm install <pkg>@<version> --save 

会自动将依赖项下的特定版本的包添加到package.json文件中

EX:

 npm install koa-views@1.0.0 --save 

如果你需要一个包的特定版本的范围,使用这个命令行

 npm install <pkg>@<version range> 

会自动将package下最新版本的package之间的依赖项join到package.json文件中

EX:

 npm install koa-views@">1.0.0 <1.2.0" --save 

有关如何编写包npm Doc的版本的更多详细信息

命令行

 npm update --save 

会将软件包更新到package.json文件中,并且会自动将依赖项下的所有软件包的更新版本添加到package.json文件中

命令行

 npm uninstall <pkg> --save 

会自动从依赖包中移除package到package.json文件,并从node_module文件夹中移除包

运行npm init -y使你的package.json具有所有的默认值。
您可以相应地更改package.json
通过防止在npm init每个命令上按下enter ,这可以节省很多时间

基于Pylinux的回答,下面是Windows操作系统的解决scheme,

 dir node_modules > abc.txt FOR /F %k in (abc.txt) DO npm install --save 

希望能帮助到你。

您现在可以使用Yeoman – 现代Web App脚手架工具在节点terminal上使用三个简单的步骤。

首先,你需要安装哟和其他所需的工具:

 $ npm install -g yo bower grunt-cli gulp 

脚手架Web应用程序,安装generator-webapp生成器:

 $ npm install -g generator-webapp // create scaffolding 

跑哟,你们都做完了:

 $ yo webapp // create scaffolding 

Yeoman可以为您的整个Web应用程序或控制器和模型编写样板代码。 它可以启动一个实时预览Web服务器进行编辑和编译; 不仅如此,你还可以运行你的unit testing,最小化和连接你的代码,优化图像,以及更多…

Yeoman(yo) – 脚手架工具,提供一个框架特定的脚手架生态系统,称为发电机,可用于执行前面提到的一些繁琐的任务。

Grunt / gulp – 用于构build,预览和testing您的项目。

Bower – 用于依赖性pipe理,因此不再需要手动下载前端库。

使用命令npm init -f生成package.json文件,然后在每个命令后面使用–save,这样每个模块都会自动更新到你的package.json中,例如:npm install express –save