如何公开JS节点模块
How to expose a JS Node Module
我正在深入Node.js,并成功安装了express和socket。我可以很容易地制作基本的聊天程序。这需要以下步骤:
在app.js(我的节点服务器)
var server = require('http').Server(app);
var io = require('socket.io')(server);
我在public/javascripts 中包含了缩小的socket.io.js文件
在public/javascripts/testchat.js中,简单地调用IO如下:
var socket = io();
然后用IO的东西做任何你想做的事。
我已经制作了我自己的Node.js模块,但我不知道如何公开它
在node_modules/myModule/index.js 中
module.exports = require('./lib');
在node_modules/myModule/lib/index.js 中
module.exports = myModule;
function myModule(){
this.name = "hello";
}
myModule.prototype.test = function(){
console.log(this.name);
}
我可以在app.js 中很容易地调用这些东西
var myModule = require('myModule');
var myMod = new myModule.test(); //hello
但我不希望每次启动服务器时都运行这个程序。我希望只在用户访问特定页面时运行。从这里到那里怎么走?我知道我错过了什么。。。我本来希望能够做到这一点:
在public/javascripts/myModule.js 中
var myModule = myModule(); //myModule is undefined
myModule.test();
谢谢。
您可以通过socket.io请求信息。打开网络连接往往会占用大量资源。通常,我们为移动应用程序或网站编写的大多数游戏和应用程序都会调用我们在Express中编写的RESTAPI,这是一个node.js框架。从本质上讲,您可以创建响应HTTP调用的端点。他们发送回您想要的任何内容,我们通常使用JSON来响应数据。因此,您需要创建一个RESTful api应用程序,在其中一个api后面是您的模块。您使用网页中的任何参数调用API,应用程序将使用您的数据进行响应。
然后你当然需要进入身份验证,所以只有你想访问的人才能获得身份验证。你会遇到安全和扩展问题。这是一个新世界。
- 节点Js:How to catch a“;没有这样的文件或目录“;读取线模块出错
- 如何从模块链中调用函数.导出到节点中
- 节点是否需要模块传递带有方括号的arg?这是个错误吗
- 节点模块依赖关系
- 如何引用HTML中节点模块中的js文件
- 未定义应为节点模块的对象
- 在节点 js 中使用护照本地模块验证(登录)密码时出错
- module.js在运行iron节点时找不到模块
- 如何在客户端javascript中需要节点模块
- 我应该总是将模块调用到var中,还是在节点中立即执行
- 如何在节点模块中从命令行运行函数
- 如何使用jasmine节点监视依赖模块内部的方法
- 将节点模块添加到gitignore
- 使用Q节点模块时,Bluemix node.js应用程序部署失败
- 使用document.cookie将客户端javascript转换为节点模块
- 查找与锁定和更新调度相关的一个或两个节点模块
- 节点模块的可能结构
- 节点模块对象范围:在所有函数之间共享一个对象
- 找不到强大的模块 - 节点.js
- 如何访问require模块节点上的父变量