Javascript node.JS中包含的JS文件的奇怪行为

Javascript node.JS中包含的JS文件的奇怪行为,javascript,node.js,include,express,socket.io,Javascript,Node.js,Include,Express,Socket.io,我正在制作一个当前状态下的节点应用程序,非常简单,但我遇到了一个无法解决的问题 my express应用程序生成的html如下所示: <html style="" class=" js no-touch svg inlinesvg svgclippaths no-ie8compat"> <head> ... <script type="text/javascript" src="/javascripts/mouse.js"></script> ..

我正在制作一个当前状态下的节点应用程序,非常简单,但我遇到了一个无法解决的问题

my express应用程序生成的html如下所示:

<html style="" class=" js no-touch svg inlinesvg svgclippaths no-ie8compat">
<head>
...
<script type="text/javascript" src="/javascripts/mouse.js"></script>
...
</head>
<body class="antialiased" style=""><div class="row"><div class="row">
<script>
var mouse;
var X = 0;
var Y = 0;
window.onload = function()
{
 alert(Mouse());//=> undefined
 mouse = Mouse();

 mouse.setMouseMoveCallback(function(e){ //THIS LINE FAILS: "Cannot call method 'setMouseMoveCallback' of undefined"
  X = e.x;
  Y = e.y;
  alert("move");
 });
}
...
</html>
所以:我保证JS文件已经加载。但是,尽管如此,我还是无法访问我的
窗口中的
Mouse()
方法。在主体中,onload
函数显示为
未定义。这对我来说很奇怪,因为如果我创建了一个HTML文件,它做了完全相同的事情,我就能够访问它

这是怎么回事?node.js/express中是否存在禁用此类交互的神奇技巧


补充说明:

  • 我使用Jade作为模板引擎
  • “mouse.js”文件可以工作。我以前用过好几次
  • 我使用socket.io在客户端和服务器之间进行通信
完整标题:

<head><title>My awesome title</title><link rel="stylesheet" href="/stylesheets/foundation.min.css"><link rel="stylesheet" href="/stylesheets/normalize.css"><link rel="stylesheet" href="/stylesheets/style.css"><script type="text/javascript" src="/socket.io/socket.io.js"></script><style type="text/css"></style><script type="text/javascript" src="/javascripts/jquery.min.js"></script><script type="text/javascript" src="/javascripts/vendor/custom.modernizr.js"></script><script type="text/javascript" src="/javascripts/vendor/zepto.js"></script><script type="text/javascript" src="/javascripts/mouse.js"></script><meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport"><meta name="viewport" content="width=device-width"></head>
我最棒的头衔

如果鼠标功能未定义,则会引发错误。警报显示“未定义”的原因是鼠标函数不返回任何内容,因此未定义。它应该用作构造函数,如“new Mouse()”

是否有任何其他代码会干扰或重新定义鼠标?这看起来不像是翡翠/特快专递的问题。不知何故,我无法看到它应该是
newmouse()
。谢谢
<head><title>My awesome title</title><link rel="stylesheet" href="/stylesheets/foundation.min.css"><link rel="stylesheet" href="/stylesheets/normalize.css"><link rel="stylesheet" href="/stylesheets/style.css"><script type="text/javascript" src="/socket.io/socket.io.js"></script><style type="text/css"></style><script type="text/javascript" src="/javascripts/jquery.min.js"></script><script type="text/javascript" src="/javascripts/vendor/custom.modernizr.js"></script><script type="text/javascript" src="/javascripts/vendor/zepto.js"></script><script type="text/javascript" src="/javascripts/mouse.js"></script><meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport"><meta name="viewport" content="width=device-width"></head>