在组件内部使用全局定义的脚本

时间:2015-12-09 22:06:18

标签: javascript reactjs typescript webpack

我在index.html

中使用全局脚本声明
<!DOCTYPE html>
<html>
    <head>
    <script src='https://js.espago.com/espago-1.1.js' type='text/javascript'></script>
    ...
    </head>
<body>
    ...
</body>

现在我想在组件中使用它。

import * as React from "react";
import * as $ from "jquery";

//how to import Espago?

export default class EspagoPayment extends React.Component<any, any> {
    componentDidMount() {
        $("#espago_form").submit(function(event){
             var espago = new Espago({public_key: 'xxx', custom: true, live: false, api_version: '3'});
             espago.create_token({
                    ...
             });
        });
    }

    render() {
        return (
                ...
        );
    }
}

Webpack在构建时出错。

  

错误TS2304:找不到姓名&#39; Espago&#39;

如何在组件中看到Espago

也许还有其他方法可以链接到在线资源?

1 个答案:

答案 0 :(得分:1)

你必须告诉TypeScript它是在其他地方定义的。

first_name

请参阅https://stackoverflow.com/a/13252853/227299