服务器端代码
var express = require('express'); //Web Framework
var app = express();
var http = require('http').Server(app); //HTTP server module
var connect = require('connect'),
sharejs = require('share').server;
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
});
var options = {db: {type: 'none'}}; // See docs for options. {type: 'redis'} to enable persistance.
// Attach the sharejs REST and Socket.io interfaces to the server
sharejs.attach(server, options);
app.get('/', function (req, res) {
res.sendFile('index.html', { root: __dirname });
})
http.listen(3000, function () {
console.log('listening on *:3000');
});
但是我无法让share.js工作。
它给出了一个错误,ReferenceError:服务器未定义
如何让express与share.js一起工作?
答案 0 :(得分:0)
如果您使用的是ShareJS 0.6,则问题在于您使用require('share').http
代替require('share').server
。
变化:
var connect = require('connect'),
sharejs = require('share').http;
要:
var connect = require('connect'),
sharejs = require('share').server;
如果您使用的是ShareJS 0.7,则不推荐使用attach
方法。有关解决方法,请参阅this answer。
现在您的答案已更新,问题是您尚未定义server
变量。 The documentation声明您可以使用以下方法定义:
var server = connect( connect.logger(), connect.static(__dirname + '/public') );