riot.js - Typescript 找不到模块 '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 ... }
这会导致 Error TS2307: 找不到模块 'wnumb'。
然而,如果我这样做:
/// <amd-module name="AdvancedSlider"/>
import * as $ from "jquery";
import "wnumb";
export class AdvancedSlider extends Riot.Element { ...blah ... }
它可以编译。
使用来自 https://github.com/retyped/wnumb-tsd-ambient/blob/master/wnumb.d.ts 的类型定义,我需要做前者,因为我需要在 AdvancedSlider 类中获取它的引用。
我哪里做错了?
2016年8月2日编辑
无法让它工作。
已使用:
const wNumb = require("wnumb");
在我看来这似乎是个失败。继续前进...
答案#1
即使已经很晚了,我还是遇到了和你一样的问题 :(
然而,我使用的是 webpack 2.x,无论如何,这可能对下一个来的人有帮助,但我通过使用 webpack ProvidePlugin 成功实现了:
new webpack.ProvidePlugin({
$: "jquery",
jQuery: "jquery",
wNumb: "wnumb"
})
也可以从 https://github.com/DefinitelyTyped/DefinitelyTyped 获取类型定义
希望它对其他人也有用。
