如何将dexie与typescript和requirejs一起使用?

时间:2016-03-08 10:46:43

标签: typescript requirejs dexie

我有一个打字稿项目,它使用requirejs来加载jquery,所以我知道基本概念是有效的。我试图设置dexie,但我无法让它工作。

我的需要配置如下:

require.config({

    baseUrl: '',

    paths: {
        //main libraries
        jquery: 'scripts/jquery-2.2.1',
        dexie: 'node_modules/dexie/dist/dexie.min'
    },

    shim: {
        jquery: {
            exports: '$'
        }
    }
}); 

我可以将它包含在require()中,如下所示,它可以工作,所以我知道路径没问题。

require(['jquery', 'dexie'], function ($) {
    $(document).ready(() => {
        alert('all good');
    });
});

然而,当我这样做时:

import dexie = require('dexie');

打字稿抱怨' dexie'无法找到。

实际的doco说:

import Dexie from 'dexie';

但这也不起作用。

我做错了什么?

2 个答案:

答案 0 :(得分:0)

您可能需要dexie.d.ts文件。使用typings安装类型定义文件的最佳方法。

$ npm install -g typings
$ typings init
$ typings install dexie --save --ambient

然后添加对它的引用:

/// <reference path="./typings/browser.d.ts"/>

import Dexie = require('dexie');

var db = new Dexie('MyDatabase');

您需要设置编译器选项以将模块编译为AMD模块。

答案 1 :(得分:0)

最终出现了dexie包的一些问题,作者在解决这个问题时非常棒。