久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

node.js - node項目找不到文件,index.js輸出index.html

瀏覽:171日期:2023-10-10 14:11:03

問題描述

node.js - node項目找不到文件,index.js輸出index.html

var app = require(’express’)();var http = require(’http’).Server(app);var io = require(’socket.io’)(http);app.get(’/’, function(req, res){ res.sendFile(__dirname + ’/index.html’);});io.on(’connection’, function(socket){ console.log(’a user connected’);});http.listen(80, function() { console.log(’listening on *:80’);});

這是index.js源碼,然后訪問localhost

node.js - node項目找不到文件,index.js輸出index.htmljquery找不到,socket.io.js倒是找到了。。。。這是index.html引入部分

node.js - node項目找不到文件,index.js輸出index.html

問題解答

回答1:

我理解你的疑問有兩個問題

為什么能找到/socket.io/socket.io.js, 這是因為如果Socket.io服務監聽在你的http服務上,它會自動提供http://localhost:<port>/socket.io/socket.io.js這條路由(其實是攔截了所有/socket.io開頭的請求, 并且請求的socket.io.js會被解析到socket.io-client/socket.io.js,所以你可以看看你前端獲取到的js,其實是socket.io-client模塊里面的文件,并不是socket.io模塊里面的)。你不需要復制到對外的靜態文件目錄,或者手工提供該服務。

為什么你自己的/js/jquery-2.0.3.min.js卻找不到,因為這個靜態文件服務,沒有模塊給你提供,所以你需要自己手動提供,在你上面的index.js代碼稍微改造一下,結果如下:

//改動一下, 提出expressvar express = require(’express’)var app = express();var http = require(’http’).Server(app);var io = require(’socket.io’)(http);//提供靜態文件服務,這樣就能找到你的`jquery-2.0.3.min.js`文件app.use(express.static(__dirname));app.get(’/’, function(req, res){ res.sendFile(__dirname + ’/index.html’);});io.on(’connection’, function(socket){ console.log(’a user connected’);});// 最好不要直接監聽在80端口,改成8888http.listen(8888, function() { console.log(’listening on *:8888’);});

備注:最好不要直接監聽在80端口,你可以監聽在其他端口,然后掛一個nginx做為反向代理,這樣的處理方式可能更加緩和一點。 直接監聽在80端口太暴力了!個人意見,希望對你有幫助。

標簽: HTML
主站蜘蛛池模板: 中牟县| 宁远县| 山丹县| 弋阳县| 嘉鱼县| 青河县| 宁河县| 葵青区| 周口市| 白城市| 若羌县| 奎屯市| 临邑县| 芮城县| 永州市| 桓仁| 桂林市| 东乌珠穆沁旗| 抚松县| 泸水县| 司法| 东阿县| 沂源县| 阿拉善右旗| 靖边县| 扎赉特旗| 宁陵县| 洪雅县| 马关县| 且末县| 乌鲁木齐县| 宝兴县| 赤水市| 平塘县| 万宁市| 炎陵县| 太湖县| 玉龙| 独山县| 固始县| 乡城县|