我想在“ npm install”时下载一些资源,大概使用“ prepublish”脚本

Seb*_*yra 3 node.js npm

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

根据我在此处阅读的内容,在预发布脚本中可以进行此类操作。它还提到我不需要依靠在系统上安装wget / curl。

但是,它没有详细介绍如何执行此操作。

有人知道怎么做吗?

Seb*_*yra 5

好的,我自己解决了。

我添加了一个小的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');
Run Code Online (Sandbox Code Playgroud)

然后我修改了package.json:

...
"scripts": {
  "start": "node app.js",
  "prepublish": "node prepublish.js"
},
Run Code Online (Sandbox Code Playgroud)

现在,当运行“ npm install”时,它会下载我的依赖项!

  • 使用 `var https = require('https');` 作为 https URL。 (3认同)