我想在“npm install"时下载一些资源,大概是使用“prepublish"脚本 [英] I want to download some resources upon 'npm install', presumably using a 'prepublish' script

查看:63
本文介绍了我想在“npm install"时下载一些资源,大概是使用“prepublish"脚本的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

Specifically, I want to download angular.min.js when running 'npm install'.

从我读到的这里来看,做这些事情的地方是预发布 脚本.它还提到我不需要依赖在系统上安装 wget/curl.

From what I read here the place to do such things is in a prepublish script. It also mentions I don't need to rely on having wget/curl installed on the system.

但是它没有详细说明如何去做.

However it doesn't go into any detail on how to go about doing it.

有人知道怎么做吗?

推荐答案

好的,自己解决了.

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

I added a small javascript file (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:

and I modified my package.json:

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

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

Now when running 'npm install' it downloads my dependencies!

这篇关于我想在“npm install"时下载一些资源,大概是使用“prepublish"脚本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆