我想在'npm install'下载一些资源,大概是使用'prepublish'脚本

时间:2013-07-12 02:09:07

标签: node.js npm

具体来说,我想在运行'npm install'时下载angular.min.js。

从我阅读的内容here开始, preublish 脚本就是这样做的地方。它还提到我不需要依赖在系统上安装wget / curl。

然而,它没有详细说明如何去做。

有人知道怎么做吗?

1 个答案:

答案 0 :(得分:4)

好的,我自己解决了。

我添加了一个小的javascript文件(prepublish.js):

var http = require('http');
var fs = require('fs');

function download(filename, url) {
  var file = fs.createWriteStream(filename);
  var request = http.get(url, function(response) {
    response.pipe(file);
  });
}

console.log('Downloading angular');
download('public/scripts/angular.min.js', 'http://code.angularjs.org/1.0.7/angular.min.js');
download('public/scripts/angular.js', 'http://code.angularjs.org/1.0.7/angular.js');
console.log('Downloading angular-ui-router');
download('public/scripts/angular-ui-router.min.js', 'http://angular-ui.github.io/ui-router/release/angular-ui-router.min.js');
download('public/scripts/angular-ui-router.js', 'http://angular-ui.github.io/ui-router/release/angular-ui-router.js');

我修改了我的package.json:

...
"scripts": {
  "start": "node app.js",
  "prepublish": "node prepublish.js"
},

现在运行'npm install'时会下载我的依赖项!