在Atom的init.coffee

时间:2017-10-27 05:54:30

标签: coffeescript atom-editor

我已经谷歌已经找到了答案,因为这是一个常见的问题,但所有的回复都指向使用替代品而不是解释为什么这不起作用,所以我'我问这里。

我把这段代码放在我的Atom的init.coffee脚本中:     beautify = require(' js-beautify')。html

但Atom因Failed to load init.coffeeCannot find module 'js-beautify'而失败。奇怪的是,这适用于一个包,如果我在Atom的控制台上输入完全相同的代码,这是有效的。

当然,我可以为此编写一个包,实际上有一些可用,这只是一个例子,因为我想学习如何从init.coffee中获取模块以供将来调整。

非常感谢!

1 个答案:

答案 0 :(得分:2)

当您从require() init.coffee时,Atom会在自己的路径中查找这些模块。您可能希望这样做的一个示例是,如果您有oni = require('oniguruma')来访问正则表达式函数。

要进入js-beautify,您必须指定其完整路径。到目前为止,只明确声明整个绝对路径对我有用:

beaut = require 'C:\\Users\\<username>\\.atom\\packages\\atom-beautify\\node_modules\\js-beautify'

console.log beaut

实际上,使用这样的模块最可靠的方法是全局安装它,以便您可以链接到全局NPM文件夹。如果要卸载软件包,则链接到软件包内的模块将会中断。