【问题标题】:Client files location with node server?节点服务器的客户端文件位置?
【发布时间】:2016-09-18 14:16:37
【问题描述】:

我在这里尝试一个愚蠢的简单聊天应用程序:http://socket.io/get-started/chat/

一切都好,除了我想我会将 index.html 文件中的 css 和 js 拆分为单独的文件。所以我有一个看起来像这样的项目文件夹:

/myProject
  index.js
  index.html
  /node_modules
     /express
     /socket.io

所以在 myproject 文件夹中,我创建了 client 文件夹并将 app.css 和 app.js 放在那里:

/myProject
  /client
    app.css
    app.js

并切换了我的html:

<link rel="stylesheet" href="/client/app.css" />
<script src="http://code.jquery.com/jquery-1.11.1.js"></script>
<script src="/socket.io/socket.io.js"></script>
<script src="/client/app.js"></script>

我重新启动节点服务器并运行索引,但是我的 chrome 检查器在 /client 文件上有 404。

我尝试将客户端文件夹移动到 node_modules 文件夹中(认为这一定是 html 从中获取 socket.io 引用的地方),但没有这样做。

当节点服务器启动时,它从哪个本地文件夹提供服务(此处使用 Windows),以及如何添加其他客户端文件?我不应该在包依赖项中列出所有这些吗?

根据下面的答案,是的,使用 express (4.10.2)

得到错误:

参考错误:快递没有定义

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

app.use(express.static(__dirname + '/public'));

app.get('/', function(req, res) {
    res.sendFile(__dirname + '/index.html');
});

io.on('connection', function(socket) {
    console.log('user connected');
    socket.on('disconnect', function() {
        console.log('user disconnected');
    });
    socket.on('chat message', function(msg) {
        console.log('message: ' + msg);
    });
});

http.listen(3000, function() {
    console.log('listening on *.3000');
});

【问题讨论】:

    标签: node.js


    【解决方案1】:

    我假设您使用的是 express。

    所以为了在 Express 中提供静态文件,你需要这个

    https://expressjs.com/en/starter/static-files.html

    app.use(express.static('client'));

    希望这会有所帮助。

    【讨论】:

    • 这还需要将 HTML 中的 URL 更改为 /app.css/app.js
    • 是的..如果所有这些都在同一个目录中。阅读文章。您的网址将只是 href="app.css"
    • 您也可以使用app.use('/client', express.static('client')) 在HTML 中保留/client/ 前缀。
    • 我正在尝试,但得到“没有定义快递”并试图解决这个问题。 Express 已安装并且工作正常,直到我将它放入 index.js
    • 在 index.js 中添加... var express = require('express'); var app = express();一切都应该工作..并删除这一行 var app = require('express')();
    猜你喜欢
    • 1970-01-01
    • 2016-06-20
    • 2020-09-08
    • 2016-06-03
    • 1970-01-01
    • 2015-12-09
    • 2014-02-13
    • 2016-11-07
    • 1970-01-01
    相关资源
    最近更新 更多