[英]Working on mac but not on machine - linux ubuntu - node server
我的 http 服務器有問題,這是代碼:
var http = require('http');
var url = require('url');
var fs = require('fs');
http.createServer(function (req, res) {
var q = url.parse(req.url, true);
var filename = "." + q.pathname;
const request = require('request');
var dpi = "half api code type 1";
var ipn = "half api code type 2";
var close = "2nd half api code ";
var ipnTable = ['table with links'];
var dpiTable = ['table with links',];
request(dpi+dpiTable[0]+close { json: true }, (err, res, body) => {
if (err) { return console.log(err); }
console.log(body.url);
console.log(body.explanation);
});
fs.readFile(filename, function(err, data) {
if (err) {
res.writeHead(404, {'Content-Type': 'text/html'});
return res.end("404 Not Found");
}
res.writeHead(200, {'Content-Type': 'text/html'});
res.write(data);
return res.end();
});
}).listen(8080, 'ip / hostname of my machine - idk what to chose');
它在 mac 上工作,但我在機器上收到一些錯誤,看看這個:
0|serwer2 | at Server.<anonymous> (/home/ubuntu/smcheck/serwer2.js:10:17)
0|serwer2 | at emitTwo (events.js:106:13)
0|serwer2 | at Server.emit (events.js:191:7)
0|serwer2 | at HTTPParser.parserOnIncoming [as onIncoming] (_http_server.js:546:12)
0|serwer2 | at HTTPParser.parserOnHeadersComplete (_http_common.js:99:23)
0|serwer2 | Error: Cannot find module 'request'
0|serwer2 | at Function.Module._resolveFilename (module.js:469:15)
0|serwer2 | at Function.Module._load (module.js:417:25)
0|serwer2 | at Module.require (module.js:497:17)
0|serwer2 | at require (internal/module.js:20:19)
0|serwer2 | at Server.<anonymous> (/home/ubuntu/smcheck/serwer2.js:10:17)
0|serwer2 | at emitTwo (events.js:106:13)
0|serwer2 | at Server.emit (events.js:191:7)
0|serwer2 | at HTTPParser.parserOnIncoming [as onIncoming] (_http_server.js:546:12)
請大家幫幫我,我不知道該怎么辦...
我正在嘗試向一個網站的 api 發送請求,在 mac 上我收到未定義的響應 - 可能是因為 api 服務器正在使用 revdns 進行身份驗證。
問題是,為什么我總是遇到同樣的問題,如果您知道如何將來自 api 服務器的響應放入某個 div 中,那就太好了。
謝謝,啤酒給所有感興趣的人。
默認情況下,您不能要求全局安裝 npm 模塊
而不是npm install request -g
do npm install request --save
它在您的 Mac 上運行可能是因為有一個指向全局node_modules
目錄的 NODE_PATH 環境變量。 在 Linux 中,您可以通過以下方式執行此操作: export NODE_PATH=/usr/lib/node_modules
(您機器上的路徑可能不同)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.