繁体   English   中英

全球公司代理背后的npm项目

[英]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 answer1SO answer2解释了设置npm代理的不同方法。 看看是否对您有帮助。

您可以将诸如proxy_on和proxy_off之类的功能添加到您的bashrc中,这将使您可以设置全局npm config并在命令行中对其进行切换。

有关代码,请参见本要点

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM