内网环境安装express,解决使用代理上网不能在命令行使用代理的情况。
1、建立自己的文件服务器
var server,
ip = "127.0.0.1", port = 80,
http = require('http'),
fs = require("fs"), folderPath = "static", url = require('url'), realPath,
filePath,
path = require("path"),
encode = "utf8";
server = http.createServer(function (req, res) {
realPath = url.parse(req.url);
switch (realPath.pathname) {
case "/express/-/express-2.5.9.tgz":
filePath = folderPath + "/express-2.5.9.tgz";
break;
case "/connect" :;
case "/mkdirp" :;
case "/qs" :;
case "/express":
case "/formidable":
case "/mysql":
case "/traverse":
filePath = folderPath + "/base" + realPath.pathname;
break;
default:
filePath = folderPath + realPath.pathname;
break;
}
console.log(filePath);
fs.readFile(filePath, function(err, file) {
if (err) {
res.writeHead(404, {'Content-Type': 'text/plain'});
res.end();
return;
}
var mime = require("./mime").types;
var ext = path.extname(filePath);
ext = ext ? ext.slice(1) : 'unknown';
var contentType = mime[ext] || "text/plain";
res.writeHead(200, {'Content-Type': contentType});
res.write(file,"binary");
res.end();
});
});
server.listen(port, ip);
console.log("Server running at http://" + ip + ":" + port);
2、下载相关文件建立相应目录
3、配置C:\WINDOWS\system32\drivers\etc\hosts,添加(127.0.0.1 registry.npmjs.org) 。
4、查找自己node中安装目录中查找registry.npmjs.org,在查找结果中有一个config-defs.js的文件,在其中搜索registry.npmjs.org,然后将前面(httpsOk ? “s” : “”)改为(httpsOk ? “” : “”)。
5、然后就可以正常安装了。 由于不能上传文件所以就需要大家自己去下载相应的包了,不是特别多。
1 回复
比如安装express的话,需要好多依赖的,如果手动安装tar的话,那样更麻烦了,而且这个东西对一直用内网来说是一劳永逸的,以后只需要下载包(不过需要安装好多次,目的就是需要下载那些需要的包),然后就能正常安装了