如何使用带浏览器的typescriptmodule?

IT技术 typescript reactjs browserify
2021-04-27 19:48:36

我是typescript的新手,我目前正在使用带有 browserify 帮助的 CJS。当我将typescript添加到混合中时,TSC 编译器抱怨需要说

error TS2095: Could not find symbol 'require'

这是我的 browerify 的入口点

var Hello:any = require('hello.js').Hello;

这是我的 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;
2个回答

您可以通过声明告诉 Typescript 如何解析外部类来为任何类修复此问题。

对您来说幸运的是,这已经为大量库完成了。

将此作为参考包含在您的文件中。

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

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

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

var Hello:any = require('hello.js').Hello;

更新

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

declare var require:any;

var Hello:any = require('hello.js').Hello;