我有一个打字稿项目,它使用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';
但这也不起作用。
我做错了什么?
答案 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包的一些问题,作者在解决这个问题时非常棒。