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

如何将dexie与typescript和requirejs一起使用?,typescript,requirejs,dexie,Typescript,Requirejs,Dexie,我有一个typescript项目,它使用requirejs加载jquery,所以我知道基本概念是可行的。我正试着让德克西准备好,但我就是不能让它工作 我的require配置如下所示: require.config({ baseUrl: '', paths: { //main libraries jquery: 'scripts/jquery-2.2.1', dexie: 'node_modules/dexie/dist/dexi

我有一个typescript项目,它使用requirejs加载jquery,所以我知道基本概念是可行的。我正试着让德克西准备好,但我就是不能让它工作

我的require配置如下所示:

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');
Typescript抱怨找不到“dexie”

实际的doco说要做:

import Dexie from 'dexie';
但这也不行


我做错了什么?

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

然后添加对它的引用:

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

import Dexie = require('dexie');

var db = new Dexie('MyDatabase');
//
导入Dexie=require('Dexie');
var db=新的索引(“MyDatabase”);

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

最终,作者非常擅长解决的dexie包出现了一些问题。

它告诉我“找不到模块‘dexie’”。Id文件
/typings/browser.d.ts``可用吗?如果没有,是否有文件
/typings/index.d.ts`可用?
/// <reference path="./typings/browser.d.ts"/>

import Dexie = require('dexie');

var db = new Dexie('MyDatabase');