【问题标题】:How to use dexie with typescript and requirejs?如何将 dexie 与 typescript 和 requirejs 一起使用?
【发布时间】:2016-06-22 06:36:17
【问题描述】:

我有一个打字稿项目,它使用 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');

Typescript 抱怨找不到“dexie”。

实际的 doco 说要做:

import Dexie from 'dexie';

但这也不起作用。

我做错了什么?

【问题讨论】:

    标签: typescript requirejs dexie


    【解决方案1】:

    您可能需要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 模块。

    【讨论】:

    • 它告诉我“找不到模块 'dexie'”。
    • 文件./typings/browser.d.ts``available? If not, is a file ./typings/index.d.ts`可用吗?
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-10-10
      • 2016-03-31
      • 2019-07-24
      • 2018-03-27
      • 2016-02-15
      • 2020-01-31
      • 2012-11-12
      相关资源
      最近更新 更多