使用require和node.js加载远程js文件

尤瓦尔

我一直在使用NodeJS和javascript开发在线套接字服务器,并且一直在使用require在代码中创建“游戏室”:

new_game_obj = require('./forza4.js');

现在,当我在本地计算机上测试我的代码时,这种方法就可以找到,但是对于生产服务器,我遇到了一个问题。似乎出于某种技术原因,运行我的代码的过程与我可以访问的(用于文件上载等)机器不在同一台机器上,因此服务器场中的家伙要求我更改我的机器。代码,这样我就可以从全局位置而不是本地加载“ forza4.js”中的代码,就像我现在所做的那样。所以我将代码更改为此:

new_game_obj = require('http://www.xxxxx.com/blabla/forza4.js');

(当然,我进行了测试以查看文件是否存在,只是为了确保当我指向该实际地址时该文件显示在浏览器中)但是我从代码中得到了一个错误(再次,我正在运行这在我的机器上本地显示),其中显示:

异常:错误:找不到模块' http://www.xxxxx.com/blabla/forza4.js '

因此,为了安全起见,我这样做了:

new_game_obj = require('http://92.xx.xx.xx/blabla/forza4.js'); 

但是同样,同样的错误。

从远程服务器将“扩展名”加载到我的代码中是否应该出现问题,还是我将“ require”调用的格式设置为错误?

谢谢一堆!

尤瓦尔

PS:这是此主题的后续文章:这是较旧且已解决的帖子

拉康巴斯

看看node.js模块文档

具体来说,请参阅require算法

在node.js中,require调用是同步的,因此无法加载不在文件系统上的文件(即,从外部URL)。

更新

您可以通过http请求(甚至更好的是https请求)获取代码然后使用内置的vm模块运行该代码,甚至可以使用vm模块运行该代码eval,但这似乎不是一个好主意,就像这个老问题所建议的那样

就像是

https.get( 'https://www.xxxxx.com/blabla/forza4.js', function( res ){
  res.on( 'data', function( data ){
    vm.runInThisContext( data, 'remote/forza4.js' );
  });
});

注意:我没有测试此代码

当然,这不是最好的解决方案,但它是一个解决方案。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用require和node.js加载远程js文件

来自分类Dev

使用Node JS和React js的文件加载问题

来自分类Dev

在`Node.js`中使用`require`传递对象和变量

来自分类Dev

使用require.js加载控制器js文件

来自分类Dev

如果从远程加载失败,则加载本地引导css和js

来自分类Dev

如果从远程加载失败,则加载本地引导css和js

来自分类Dev

使用onclick加载js文件

来自分类Dev

使用onclick加载js文件

来自分类Dev

使用节点中的require加载在线js文件

来自分类Dev

使用节点中的require加载在线js文件

来自分类Dev

在 JS 上使用 require 语句加载多个文件

来自分类Dev

使用Jam.js,require.js和node-webkit不会发生冲突

来自分类Dev

使用Selectize.js从SQL进行远程数据加载

来自分类Dev

Select2 JS使用Ajax加载远程数据

来自分类Dev

在CoffeeScript中使用Node.js require和class解决循环依赖关系

来自分类Dev

使用Express,Node.JS和Require模块进行外部API调用

来自分类Dev

如何使用远程配置运行Docker和node.js

来自分类Dev

加载和连接js / jsx文件

来自分类Dev

应用引擎加载CSS和JS文件

来自分类Dev

在Express中加载CSS和JS文件

来自分类Dev

避免在Node.js中使用../../../ require

来自分类Dev

MongoDB脚本和CSV文件:我可以使用require.js加载jquery.csv吗?

来自分类Dev

使用 Node.JS 加载 .ejs 文件失败

来自分类Dev

使用requireJS动态加载js文件

来自分类Dev

如何使用Node.js从远程服务器复制带有空格和utf8的文件

来自分类Dev

如何使用nodejs加载js和css文件

来自分类Dev

使用svg.js加载和转换并嵌入SVG文件

来自分类Dev

如何使用远程js文件查找问题(Bing Maps API)

来自分类Dev

使用外部JS文件中的Head.js加载资源

Related 相关文章

热门标签

归档