如何使用具有browserify的打字稿模块?

Tor*_*ups 6 browserify typescript reactjs

我是打字稿的新手,我目前正在使用来自browserify的CJS.当我将mixcript添加到混合中时,TSC编译器抱怨要求说

error TS2095: Could not find symbol 'require'
Run Code Online (Sandbox Code Playgroud)

这是我对browerify的切入点

var Hello:any = require('hello.js').Hello;
Run Code Online (Sandbox Code Playgroud)

这是我的hello js文件(上面需要)

var React = require('react');

var Hello = React.createClass({displayName: 'Hello',
    render: function() {
        return React.DOM.div(null, "Hello ", this.props.name);
    }
});

exports.Hello = Hello;
Run Code Online (Sandbox Code Playgroud)

Ale*_*exB 7

您可以通过声明Typescript如何解析外部类来声明任何类.

幸运的是,这已经为大量的库完成了.

将其作为参考包含在您的文件中.

https://github.com/borisyankov/DefinitelyTyped/tree/master/browserify


Tor*_*ups 4

感谢@AlexB 的回复。将 def 添加到我的 app.ts 的顶部,如下所示解决了这个问题

///<reference path='../typings/node.d.ts' />

var Hello:any = require('hello.js').Hello;
Run Code Online (Sandbox Code Playgroud)

更新

还值得一提...如果您不想/不关心输入信息,您可以省略它,如下所示

declare var require:any;

var Hello:any = require('hello.js').Hello;
Run Code Online (Sandbox Code Playgroud)