2

我试图弄清楚如何在 Atom 编辑器中使用外部 javascript 库。我npm以前安装momentjs库,因为 Atom 使用节点。但是,我很困惑现在该怎么办?我找不到在 Atom 中使用库的方法。

我以为我可以去 Atominit.coffee文件并做一个require "moment"(也试过require "momentjs"),但似乎没有任何效果。

这背后的全部原因是,我可以使用一些 javascript 库来格式化片段中的日期(我还有另一个关于这个问题的 SO 问题,如果解决了这个问题,我将关闭它)。

但这个问题是关于在 Atom 中安装和运行 javascript 库的一般问题。我浏览了 Atom 文档并在 Google 上搜索过,但找不到一个好的答案。我想这样的事情会很容易吗?

4

2 回答 2

1

由于 Atom 捆绑了它自己的节点版本(因此不使用您的全局版本),它不会通过require. 但是,require支持绝对路径的方法,如果您知道它是绝对路径,您仍然可以加载任何模块,这在您的特定情况下应该不是问题。

在您的初始化脚本中,您可以编写:

momentjs = require('/path/to/momentjs')

但要注意二进制文件附带的模块。Atom 正在使用节点 0.11.13,因此如果您尝试需要的模块已安装为不同版本,您将获得Error: Module did not self-register.. 在这种情况下,恐怕唯一的解决方案是将模块安装为 Atom 包的依赖项(如@nwinkler 所建议的那样)。

于 2014-09-29T09:05:30.273 回答
0

在开发自己的包时,您应该能够执行以下操作:

使用安装 moment npm install --save moment- 这将安装moment.js库作为依赖项并将其注册到package.json文件中

在您的库中,将其导入您的 lib 文件中:

moment = require 'moment';
myDate = moment().format();

然后你可以使用 moment 对象来格式化你的时间戳。

当然,所有这些都只有在你自己做包的情况下才会起作用。不确定这是否也适用于简单的片段。

于 2014-09-07T12:35:29.690 回答