繁体   English   中英

无法访问 Node.js 中的其他文件

[英]Cant access other files in Node.js

注意: Stack Overflow 上有相同的问题,但这不是重复的。 请仔细阅读。

我刚刚开始在节点上使用 Socket.io,在我的 HTML 文件中,我无法访问其他文件,例如图片。 我在 Stack Overflow 上看到了这个问题的答案,但没有一个对我有帮助。

我正在向客户端提供 HTML 文件,其中我的 HTML 文件位于 /client/display/index.html

这是我尝试过的: app.use(express.static(path.join(__dirname, 'public'))); 以及它的变体(包括文件夹名称而不是公共文件夹名称),并且我需要在我的文件顶部的路径,我得到这个错误:

ReferenceError: express is not defined
    at /home/runner/Buzzer/index.js:6:9
    at Script.runInContext (vm.js:130:18)
    at Object.<anonymous> (/run_dir/interp.js:209:20)
    at Module._compile (internal/modules/cjs/loader.js:999:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
    at Module.load (internal/modules/cjs/loader.js:863:32)
    at Function.Module._load (internal/modules/cjs/loader.js:708:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:60:12)
    at internal/main/run_main_module.js:17:47

我已经安装了我需要的一切。 这是我添加的内容,它给了它一个错误:

const path = require('path');
app.use(express.static(path.join(__dirname, '/')));

以下是我的节点文件中的其他一些重要内容:

var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);

如果有人可以帮助我,我将不胜感激。

[编辑]

好像如果我把任何东西放在一个文件夹里,js文件就找不到它。

正如您在错误中看到的:'ReferenceError: express is not defined',您需要 express 调用 static 方法,试试这个:

 var express = require('express'); var app = express(); var server = require('http').Server(app); var io = require('socket.io')(server); const path = require('path'); app.use(express.static(path.join(__dirname, '/'));

好的,我意识到('express')()('express')不同。

我补充说:

var express = require('express');

const path = require('path');
app.use(express.static(path.join(__dirname, '/')));

这解决了我的问题。

暂无
暂无

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

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