[英]npm project behind a corporate proxy global
我已经发现很多有用的教程,可以在本地和全局设置代理以安装软件包,等等。 现在,我开始了一个新项目,并弄清楚了如何重用代理设置:
#! /usr/bin/env node
var http = require("http");
var shell = require('shelljs');
var request = require('request');
var iplocation = require('iplocation')
// setup proxy
var proxyUrl = shell.exec('npm config get proxy', {silent:true}).stdout;
var proxiedRequest = request.defaults({
'proxy': proxyUrl,
'https-proxy' : proxyUrl,
'strict-ssl' : false
});
// get location (works)
proxiedRequest('http://ipinfo.io/216.58.194.46', function (error, response, body) {
console.log('error:', error);
console.log('statusCode:', response && response.statusCode);
console.log('body:', body);
});
// doesn't work
iplocation('56.70.97.8').then(res => {
console.log(res.iplocation)
})
.catch(err => {
console.error(err);
})
有没有办法为项目设置全局设置,以便其他npm软件包也可以使用它? 我在projects文件夹中尝试了一个本地.npmrc文件,但它根本不影响环境。
欢迎任何提示。 谢谢
该SO answer1 , SO answer2解释了设置npm代理的不同方法。 看看是否对您有帮助。
您可以将诸如proxy_on和proxy_off之类的功能添加到您的bashrc中,这将使您可以设置全局npm config并在命令行中对其进行切换。
有关代码,请参见本要点 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.