2016-03-08 1 views
0

J'ai un projet tapuscrit qui utilise requirejs pour charger jquery, donc je sais que le concept de base fonctionne. J'essaie de faire dexie et je n'arrive pas à le faire fonctionner.Comment utiliser dexie avec typescript et requirejs?

Mon besoin config ressemble à ceci:

require.config({ 

    baseUrl: '', 

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

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

Je peux inclure dans un require() comme ce qui suit et il fonctionne, donc je sais que le chemin est ok.

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

Cependant, quand je fais ceci:

import dexie = require('dexie'); 

Tapuscrit se plaint que 'dexie' ne peut pas être trouvé.

La doco réelle dit à faire:

import Dexie from 'dexie'; 

mais cela ne fonctionne pas non plus.

Qu'est-ce que je fais mal?

Répondre

0

Il est probable que vous ayez besoin du fichier dexie.d.ts. La meilleure façon d'installer le fichier sis de définition de type en utilisant typings.

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

Puis ajouter une référence à elle:

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

import Dexie = require('dexie'); 

var db = new Dexie('MyDatabase'); 

Vous devez définir les options du compilateur pour compiler les modules en modules AMD.

+0

Il me dit "Impossible de trouver le module 'dexie'". –

+0

Le fichier './typings/browser.d.ts' est-il disponible? Sinon, un fichier './Typings/index.d.ts' est-il disponible? –

0

Il y a eu quelques problèmes avec le paquet dexie que l'auteur était génial à adresser.