Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Node.js-在客户端找不到全局变量_Javascript_Node.js - Fatal编程技术网

Javascript Node.js-在客户端找不到全局变量

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

我正在尝试实现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('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);