Tag: 内部

TypeScript 0.8.2在内部模块中导入Node.js模块

好的,我可以看到你想在你的项目中使用内部模块。 那么,在TypeScript 0.8.1.1中有一个解决方法,你可以定义非导出模块(内部),并在其上面添加导入。 在0.8.2中,似乎这不起作用了。 我在这里看到的选项是完全省略导入语法,并使用节点模块的标准要求。 我不知道这是不是一个好主意,但请分享你的意见。 我知道使用导入语法将使模块外部(语言规范),但在0.8.1.1,这不是真的,错误也许? 在TypeScript 0.8.1.1中,这个工作并且在0.8.2中不起作用: import path = module('path'); import fs = module('fs'); module SomeNamespace.Controller { export class Index { … } } 我可以在其他内部模块的文件顶部使用引用语法来引用包含上面代码的文件,并且通常会调用: var ctrl = new SomeNamespace.Controller.Index; ctrl.index(); 看来在0.8.2中,这是内部模块工作的唯一方式: var path = require('path'); var fs = require('fs'); module SomeNamespace.Controller { export class Index { … } } 有没有其他的可能性混合内部模块与Node.js模块? 上面有没有什么需要使用(它编译和运行没问题…)?

node.js的内部 它是如何工作的

也许有人实现了node.js模块,可以解释在单个线程上处理的node.js队列与将由模块执行的阻塞IO操作之间的协议。 我怀疑它是这样的: node.js线程以封闭的forms注册一个callback,并保存一些关联id。 node.js在模块上调用一个方法(应该阻塞IO),并将方法参数和相关ID传递给它。 模块方法旋转一个线程并阻止IO操作。 当IO操作完成时,模块的线程callback到node.js线程并将结果和相关ID传递给它。 node.js线程通过关联id查找存储的callbackclosures,并用模块返回的结果调用它。 问题1:上面的顺序是否正确? 问题2: node.js队列究竟是什么? 是Windows上使用epoll,kqueue或IO完成端口的部分吗? 它是一个callback机制模块通知node.js线程,一些IO已经完成? 它是如何工作的?