在Atom编辑器中使用外部节点安装的JS库
我想弄清楚如何在Atom编辑器中使用外部JavaScript库。 我使用npm
来安装momentjs
库,因为Atom使用节点。 不过,现在该怎么办呢? 我找不到在Atom中使用该库的方法。
我以为我可以去Atom的init.coffee
文件,并做一个require "moment"
(也试过require "momentjs"
),但似乎没有任何工作。
这背后的全部原因是,所以我可以使用一些JavaScript库格式化date在一个片段(我有另一个关于这个问题,我会closures,如果这解决了这个问题)。
但是这个问题是关于在Atom中安装和运行javascript库的一般问题。 我已经浏览了Atom文档和Googlesearch,但是我找不到一个好的答案。 我觉得这样很容易?
由于Atom绑定了自己的节点版本(因此不使用全局版本),它不会通过require
加载全局安装的模块。 然而,支持绝对path的require
方法,如果你知道它是绝对path,你仍然可以加载任何模块,在你的具体情况下这不应该是一个问题。
在你的init脚本中你可以写:
momentjs = require('/path/to/momentjs')
但要小心与二进制文件一起发行的模块。 Atom正在使用节点0.11.13,所以如果你试图要求的模块已经安装了不同的版本,你会得到一个Error: Module did not self-register.
。 在这种情况下,恐怕唯一的解决办法是将模块安装为Atom包的依赖(如@nwinkler所build议的那样)。
开发自己的软件包时,您应该能够执行以下操作:
使用npm install --save moment
安装时刻npm install --save moment
– 这会将moment.js库作为依赖项安装,并将其注册到package.json
文件中
在您的库中,将其导入到lib文件中:
moment = require 'moment'; myDate = moment().format();
然后,您可以使用时刻对象来格式化您的时间戳。
所有这些只会在你自己做套餐的时候才会起作用。 不知道这是否也适用于简单的片段。