如何在Titanium中使用ES6模块

时间:2017-11-09 04:24:07

标签: titanium appcelerator appcelerator-titanium

我在/lib/Test.js内有以下课程:

export class Test {
    constructor() {
        console.log("this is a test");
    }
}

并在我的main.js我尝试执行以下操作:

import { Test } from "Test";
console.log(Test);

我收到以下错误消息:

TypeError: Object is not a constructor (evaluating 'new (require('/alloy/controllers/' + name))(args)')

如何在Titanium中使用ES6模块?

1 个答案:

答案 0 :(得分:0)

我正在使用SDK 8.3.0.GA,以下语法可以正常工作:

app / lib / services / myclass.js

class MyClass {
  constructor(prop1) {
    this.prop1 = prop1;
  }

  get something() {
    return this.calcSomething();
  }

  calcSomething() {
    return this.prop1 * 2;
  }
}

module.exports = MyClass;

,然后在app / controllers / index.js

import MyClass from 'services/myclass';

let myClass = new MyClass(2);
alert(myClass.something);

希望有帮助!