从CoffeeScript文件调用JavaScript函数

3

我需要在我的CoffeeScript应用程序中使用一个JavaScript库。由于我对这两种语言都不熟悉,所以我尝试了一些简单的东西。 我的CoffeeScript文件:

empty = require('models/empty')

    class Contact extends Spine.Model
      @configure 'Contact', 'name', 'email'

      @extend Spine.Model.Local

      create: -> 
        empty.one()
        super

    module.exports = Contact

我的JavaScript文件名为empty.js:

console.log('what')

function one () {
    console.log('one')
};

这个coffeescript文件正常工作,但是我无法让empty.one()起作用。控制台打印'what',这意味着JS文件已经被加载。但是当调用one()时,我得到以下错误:

未捕获的类型错误:Object #没有方法'one'

我尝试了很多不同的定义函数的方式,将其定义为变量,并使用在教程中找到的不同语法,但似乎都没有起作用。有人能指出我正在犯的错误吗?

1个回答

6
您需要像这样导出函数:
function one () {
    console.log('one')
};
exports.one = one;

那么它将可以被其他需要它的模块访问。

(我假设您使用node.js或任何类似commonjs的平台)


为什么我之前没有注意到这个问题?谢谢,我都快疯了!现在它终于可以工作了。 - Giannis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接