是否有可能自动安装node.js脚本所需的模块?
是否有可能自动下载一个node.js脚本所需的模块? 我想知道是否有可能生成一个node.js脚本(如下所示)所需的模块列表,并自动安装它们,而不是手动安装,一个接一个(使用npm)。
#!/usr/bin/env node var DNode = require('dnode'); var sys = require('sys'); var fs = require('fs'); var http = require('http'); var html = fs.readFileSync(__dirname + '/web.html'); var js = require('dnode/web').source(); //the rest of this script is omitted.
是的,有一个非常棒的代码,称为NPM: https : //npmjs.org/
您可以在package.json
文件中指定相关软件包( 请参阅文档的语法),您可以使用npm install .
一下子把它们全部拉出来,然后从脚本中提取出来。
Package.json语法页面: https : //docs.npmjs.com/getting-started/using-a-package.json
第一次安装一个模块,你可以提供任意数量的模块来安装,并添加--save
参数来自动将它添加到你的package.json
npm i --save dnode request bluebird
下一次有人会执行npm i
它会自动安装package.json
指定的所有模块
我已经为此写了一个脚本
(function(){ var r = require require = function (n){ try{ return r(n) } catch(e){ r('child_process').exec('npm i ' + n,function (err,body){ try{ console.log('Module "' +n + '"" not found, try to install. Please restart the app\n' + body ) return r(n) } catch(e){ } }) } } })()