riot.js - Typescript Kan inte hitta modul 'wnumb'


/// <amd-module name="AdvancedSlider"/>
import * as $ from "jquery";
import * as Wnumb from "wnumb"; 
//also tried import {wNumb} from "wnumb"
//and tried import {wNumb} from "wNumb"

export class AdvancedSlider extends Riot.Element { ...blah ... }

Detta resulterar i Fel TS2307: Kan inte hitta modulen 'wnumb'.

Men om jag gör:

/// <amd-module name="AdvancedSlider"/>
import * as $ from "jquery";
import "wnumb";
export class AdvancedSlider extends Riot.Element { ...blah ... }

Det kompilerar.

Genom att använda typerna från https://github.com/retyped/wnumb-tsd-ambient/blob/master/wnumb.d.ts behöver jag göra det tidigare eftersom jag behöver få ett handtag till det i AdvancedSlider-klassen.

Vad gör jag för fel?

Redigera 2 augusti 2016

Kunde inte få det att fungera.

Använd:

const wNumb = require("wnumb");

Vilket verkar vara ett misslyckande för mig. Går vidare...

Svar #1

Så sent som det är, stötte jag på samma problem som du :(

Jag använder dock webpack 2.x, men detta kan ändå hjälpa nästa person som kommer hit, och jag fick det att fungera genom att använda webpack ProvidePlugin:

new webpack.ProvidePlugin({
       $: "jquery",
       jQuery: "jquery",
       wNumb: "wnumb"
   })

Ha även typdefinitionerna från https://github.com/DefinitelyTyped/DefinitelyTyped

Hoppas det fungerar för någon annan.