【问题标题】:Sharejs is not loaded at client sideSharejs 未在客户端加载
【发布时间】:2014-03-13 22:31:36
【问题描述】:

服务器

var express = require('express');
var app = express();
var connect = require('connect');
var sharejs = require('share').server;
var server = connect(
  connect.static(__dirname + '/public/client/')
  );
var options = {db: {type: 'none'}};
sharejs.attach(server, options);

**var server = http.createServer(app).listen(app.get('port'), function(){
});**

客户

<script src="/channel/bcsocket.js"></script>
<script src="/client/share/share.js"></script>
<script src="/share/ace.js"></script>

错误

**GET http://localhost:3000/channel/bcsocket.js 404 (Not Found)**

**GET http://localhost:3000/share/share.js 404 (Not Found)**

**GET http://localhost:3000/share/ace.js 404 (Not Found)**

我无法连接到客户端和服务器。我不知道出了什么问题

【问题讨论】:

  • Server js文件的路径是什么?确保 connect.static 路径正确。
  • 它的正确路径兄弟仍然没有得到.....即使尝试了所有可能的路径
  • 另外,看起来您没有在服务器文件中启动任何服务器。 Server文件的最后一行是注释(/**注释**/),否则是什么app?
  • 它没有被评论,因为stackoverflow不接受这种发布问题的方式,所以我必须在发布时评论它
  • 变量app从未定义过,var server被定义了两次。看起来您发布的服务器文件不是整个文件,如果您不发布整个文件,则无法弄清楚您要做什么。

标签: node.js express socket.io share.js


【解决方案1】:

似乎找不到脚本。

如果 server.js 在 myapp/server.js 中, 以下

connect.static(__dirname + '/public/client/')

将从 myapp/public/client/ 文件夹中提供静态文件。

因此,如果 share.js 文件位于 myapp/public/client/share/share.js 中,那么您将在 client.html 中拥有

<script src="/share/share.js"></script>

另外,你应该配置服务器来监听

var connect = require('connect');
var sharejs = require('share').server;
var server = connect(
      connect.static(__dirname + '/public/client/')
  );
var options = {db: {type: 'none'}};
sharejs.attach(server, options);

/** configure the server to listen on a port **/
server.listen(3000);

【讨论】:

  • 您应该将服务器配置为侦听,请参阅重新编辑的答案。
  • 我尝试了你所说的工作方式,但它出现了新问题。我无法路由到其他页面所有其他工作页面未加载,如 localhost:3000/login 停止工作。只有该页面加载正确。
猜你喜欢
  • 1970-01-01
  • 2014-08-22
  • 2018-05-17
  • 2018-03-27
  • 1970-01-01
  • 1970-01-01
  • 2017-07-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多