Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.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/37.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适合浏览器端?_Javascript_Node.js_Browser - Fatal编程技术网

如何使Javascript适合浏览器端?

如何使Javascript适合浏览器端?,javascript,node.js,browser,Javascript,Node.js,Browser,我目前正在编写一个node.js应用程序,这是一个简单的Snake/Tron风格的游戏,但是我已经编写了我想在服务器端和浏览器端使用的类(像素贴图)。我有一条关于节点侧的线,它是: module.exports = Map; 但这在浏览器端不起作用(我收到一条关于模块未定义的消息),因此地图不会加载,我的游戏也不会显示在屏幕上 在这之前我已经试过写一行了,比如: if (!document) module.exports = Map; 但这会使节点崩溃,并导致“ReferenceEr

我目前正在编写一个node.js应用程序,这是一个简单的Snake/Tron风格的游戏,但是我已经编写了我想在服务器端和浏览器端使用的类(像素贴图)。我有一条关于节点侧的线,它是:

module.exports = Map;
但这在浏览器端不起作用(我收到一条关于模块未定义的消息),因此地图不会加载,我的游戏也不会显示在屏幕上

在这之前我已经试过写一行了,比如:

if (!document)
    module.exports = Map;
但这会使节点崩溃,并导致“ReferenceError:未定义文档”。 有什么方法可以在服务器端和客户端使用相同的代码吗?

对于,我只需执行以下操作:

if (window) {
  //you are in browser
} else {
  // you are in Node.js
}

希望这有帮助。

浏览器没有node那样的commonJS规范。您可以尝试使用模块加载器之类的东西。它可以在客户端和nodejs中使用


另一个选项是。

参考错误可以通过使用
if typeof document!='而不是未定义的“
if (typeof module !== 'undefined') {
  module.exports = foo;
} else {
  this.foo = foo; // or window.foo
}