titanium - 如何在 Titanium 中使用 ES6 模块

标签 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 模块?

最佳答案

我使用的是 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);

希望对你有帮助!

关于titanium - 如何在 Titanium 中使用 ES6 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47193873/

相关文章:

android - Titanium 中的 UI 感觉和外观,PhoneGap 与原生相比

javascript - Ti.API.info 和 console.log 之间的区别

ios - 如何将现有的 iOS 代码包装在新的 Appcelerator 模块中?

JavaScript - 字典为空

android - 单点登录 facebook titanium android

ios - 钛/Appcelerator/合金 : Unable to get current location despite success returning true

javascript - JS - 检查 http ://In TextField Input

javascript - javascript 中的句子但可变

Android 崩溃报告诊断

javascript - Highcharts : using same div to load a chart multiple times with different series data