Meteor:如何导出类并在服务器上的另一个文件中使用

时间:2015-10-08 10:41:50

标签: javascript function class meteor

我使用Meteor并在服务器上创建了一些类。当我想在服务器上的其他文件中声明它们时,如何使它们可访问?

例如,我将每个类函数分离到它自己的文件中,因为每个函数都很大。如何在需要时初始化和使用课程? E.g。

可以像这样导入文件

var User = require('./userclass.js');
var user = new User();

服务器/ LIB / classfile.js

class User {

    constructor(params) {

        this._firstName = params.firstName;
        this._lastName = params.lastName;
        this._email = params.email;
    }
}

服务器/ file.js

var myVar = new User(someParams)
// this is undefined

1 个答案:

答案 0 :(得分:3)

你无法使用require定义Meteor中的依赖关系 - 有些人预计meteor会为你解决这个问题,但是它远非完美,对于bootstrap代码,你需要注意加载顺序文件(Meteor文档有section on load order,您应该阅读,但是lib中的简短文件首先加载,所有文件按字母顺序加载..

话虽如此,由于class功能在ES2015中是新功能,看起来像是Meteor没有正确导出类的错误,但您可以为此做一个解决方法。

以下适用于我使用Meteor版本1.2.0.2 ...

<强> LIB / user.js的

class xUser {
    constructor(params) {
        console.log(params)
    }
    toString(){return "Hi";}
}
User = xUser   // this is avaiable in global space

服务器/ bootstrapcode.js

var myVar = new User("Hello")
console.log(myVar.toString());