【发布时间】:2015-01-10 11:08:08
【问题描述】:
嘿,是否可以使用类似 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 这个漏洞开始,所以这可能是一个毫无意义的问题。
【问题讨论】:
-
你确定要提到RequireJS吗?除了您提到它和您对标签的使用之外,我在您的问题中看不到任何与 RequireJS 相关的内容。这都是股票节点的东西。 (注意,如果需要提及:
require(...)并不需要 RequireJS。虽然 RequireJS 确实定义了一个require调用,但它并不特定于 RequireJS。)如果您确实意味着要使用 RequireJS,那么请在您的问题中说明您打算如何处理它。现在它是完全模糊的。 -
我很确定我使用的是普通的 Node,只是这一切让我很困惑,看起来 Node 使用 RequireJS 或 CommonJS 在内部执行 require 魔法。我还不太了解其中的区别和优势。
-
Node 对模块使用 CommonJS API。您可以将 RequireJS 与 Node 一起使用,但这是您必须明确执行的操作。 (你必须安装 RequireJS,让 Node 加载它,配置它等。)我已经从你的问题中删除了 RequireJS 提及,因为你目前没有使用它。
标签: javascript node.js npm require commonjs