node.js用漂亮的名字定义自己的模块

时间:2014-11-13 10:26:43

标签: javascript node.js npm require commonjs

嘿,是否可以定义一个名为require('my_module')的漂亮名称的module.export,这将有所帮助,因为我不必弄清楚我必须用来到那里的所有'../../'

就我而言,它是关于我的i18n助手的实例。我想做一些想法:

# (module.coffee)

Polyglot = require("node-polyglot")
i18n = new Polyglot()
module.exports = i18n

# ------------

#(view.coffee)

i18n = require('i18n')
i18n.t('my.path.string')

如您所见,moudle.coffee很短并返回Polyglot类的实例。我不知道为此创建自己的npm_package。

我刚刚开始使用CommonJS这个洞,所以这可能是一个毫无意义的问题。

1 个答案:

答案 0 :(得分:0)

如果你在npm模块中并且想要从模块中要求任何其他文件,你应该尝试这种语法:

var submod = require('module/path/to/submod');

作为示例,您可以在index.js中看到我的模块simpleS的源代码。我需要位于模块位置/lib/http/host路径上的主机文件,因此我使用它是这样的:

var host = require('simples/lib/http/host');

像这样,您可以使用所需文件的绝对路径,而无需担心相对于当前位置的路径。