我正在试图弄清楚如何在Atom编辑器中使用外部JavaScript库。我使用npm
来安装momentjs
库,因为Atom使用节点。但是,我很困惑现在要做什么?我找不到在Atom中使用该库的方法。
我认为我可以转到Atom init.coffee
文件并执行require "moment"
(也尝试require "momentjs"
)但似乎没有任何效果。
这背后的全部原因是我可以使用一些javascript库来格式化片段中的日期(我有another SO question about that which I'll close if this solves it).
但是这个问题是关于在Atom中安装和运行javascript库的一般问题。我查看了Atom文档和谷歌搜索,但我找不到一个好的答案。我认为这样的事情会很容易吗?
答案 0 :(得分:1)
由于Atom捆绑了自己的节点版本(因此未使用全球版本),因此无法通过require
加载全局安装的模块。
但是,require
方法支持绝对路径,如果您知道它的绝对路径,您仍然可以加载任何模块,这在您的特定情况下不应该成为问题。
在init脚本中,您可以写:
momentjs = require('/path/to/momentjs')
但要注意随二进制文件提供的模块。 Atom正在使用节点0.11.13,因此如果您尝试为不同版本安装的模块,您将获得Error: Module did not self-register.
。在这种情况下,我担心唯一的解决方案是将模块安装为Atom软件包的依赖项(如@nwinkler所建议的那样)。
答案 1 :(得分:0)
在开发自己的软件包时,您应该能够执行以下操作:
使用npm install --save moment
安装时刻 - 这将安装 moment.js 库作为依赖项并将其注册到package.json
文件
在您的库中,将其导入您的lib文件:
moment = require 'moment';
myDate = moment().format();
然后您可以使用moment对象格式化时间戳。
当然,所有这一切只有在您自己制作套餐时才有效。不确定这是否也适用于简单的代码片段。