从Typescript中的模块导入的函数在编译的JS中不被识别为函数?

时间:2016-05-18 17:15:59

标签: javascript typescript

我有一个Typescript项目,它从module.js模块调用一个函数。这是我的初始代码:

//app.ts
import { MobileServiceUser, setCache, getCache } from "nativescript-azure-mobile-apps/user";
export function onLoginTap(args) {
    console.log("tap");
    ai.busy = true;
    var cache = getCache();
}

如果我使用VSCode“转到定义”功能,那么getCache()会转到顶部的import语句,如果我再次执行此操作,那么我会转到:

//module.ts
declare module "nativescript-azure-mobile-apps/user" {

    export class MobileServiceUser {
        mAuthenticationToken: string;
        mUserId: string;

        constructor(o: { userId: string; });
    }

    export function setCache(user: MobileServiceUser): void;
    export function getCache(): MobileServiceUser;
}

当我执行代码并执行var cache = user_1.getCache();行时,我的应用程序崩溃,抛出错误:

  

TypeError:user_1.getCache不是函数   文件:“/ data / data /inc.tangra.azuremobileservicessample / files / app / main-page.js,line:94,column:23

app.ts看起来像编译为js:

var user_1 = require("nativescript-azure-mobile-apps/user");
function onLoginTap(args) {
    console.log("tap");
    ai.busy = true;
    var cache = user_1.getCache();
}

为什么代码不能识别导入的函数?

更新:此repo显示项目结构(代码的第一页位于sample / main-page.ts

0 个答案:

没有答案