Javascript Node.js-在客户端找不到全局变量
我正在尝试实现socket.io-stream,在我的服务器端文件中,它工作正常,但在客户端: 这是clientside的顶部,文件停止加载,位于ss.createStream(),因为找不到“ss”Javascript Node.js-在客户端找不到全局变量,javascript,node.js,Javascript,Node.js,我正在尝试实现socket.io-stream,在我的服务器端文件中,它工作正常,但在客户端: 这是clientside的顶部,文件停止加载,位于ss.createStream(),因为找不到“ss” var socket = io.connect(); var username = null; var userarray = null; var stream = ss.createStream(); var filename="profile.jpg"; ss(socket).emit('p
var socket = io.connect();
var username = null;
var userarray = null;
var stream = ss.createStream();
var filename="profile.jpg";
ss(socket).emit('profile-image', stream, {name: filename});
fs.createReadStream(filename).pipe(stream);
它总是说ss没有定义,即使我已经在html的头部添加了它。
这是jade模板的顶部,其中脚本在head中定义
doctype html
html
head
script(src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js")
script(src="/socket.io/socket.io.js", type="text/javascript")
script(src="script.js", type="text/javascript")
script(src="http://chaterix.com/node_modules/socket.io-stream/socket.io-stream.js")
script(src="char.js", type="text/javascript")
我的结构如下:
root
-public
--script.js (client side)
-node_modules
--socket.io-stream
---socket.io-stream.js (the file I am trying to use)
server.js (server side)
我还尝试使用browsify,正如开发人员所写:
$ npm install browserify -g
$ cd node_modules/socket.io-stream
$ browserify index.js -s ss > socket.io-stream.js
但这也没用
socket.io-stream.js:
下面是server.js(服务器端)的顶部
将socket.io-stream.js移动到您的public/js文件夹,并将此js文件包含在您的EJS或任何客户端视图文件中您能再粘贴一点代码吗?很难弄清楚发生了什么…哪个文件试图使用ss、char.js或script.js?如果它是script.js,则位于套接字流脚本之上,因此尚未定义它yet@apsillers从制作socket.io-stream的开发人员那里,他说就这样写吧。我假设ss将从socket.io-stream.js导入中检索?@PatrickEvans script.jsMove script.js位于socket-stream脚本下面,与上面一样,ss尚未定义。脚本是按顺序检索和执行的(除非它们具有异步或延迟属性)。因此,如果一个脚本需要在另一个脚本中使用某些内容,则该脚本必须位于它之前
var http = require('http'),
express = require('express'),
app = express(),
jade = require('jade'),
server = http.createServer(app),
bodyParser = require('body-parser');
var io = require('socket.io');
var escape = require('escape-html');
io = io.listen(server);
var fs = require("fs");
var ss = require('socket.io-stream');
var path = require('path');
var Entities = require('html-entities').AllHtmlEntities;
entities = new Entities();
server.listen(3000);