我发现已经有很多有用的教程来设置本地代理和全局安装包等等。 现在我开始了一个新项目,我想出了如何重用代理设置:
#! /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文件,但它根本不会影响环境。
欢迎任何提示。感谢
答案 0 :(得分:0)
此SO answer1,SO answer2解释了设置npm代理的不同方法。看看它是否对你有帮助。
您可以在您的bashrc中添加proxy_on和proxy_off等函数,这样您就可以设置全局npm配置并从命令行切换它。
有关代码,请参阅此gist。