TypeError:调用类方法时不是函数

李·福特

抱歉,这是一个非常基本的问题,但我一直在努力寻找答案。

我正在尝试在类客户端中调用方法/函数,但是当我尝试调用它时,我得到了 TypeError testFunction is not a function

入口点是client.ts,它(为简化起见)具有单个导出:

export * from "./Test"

Test.ts具有一个类和功能:

export class TestClass {

    public testFunction() {

        // do stuff

    }

}

我的webpack.config.js如下:

var webpack = require('webpack');

var argv = require('yargs').argv;

var debug = argv.debug !== undefined;

var config = [
    {
        entry: {
            client: [
                __dirname + '/src/scripts/client.ts'
            ]
        },
        mode: debug ? 'development' : 'production',
        output: {
            path: __dirname + '/dist/web/scripts',
            filename: '[name].js',
            libraryTarget: 'umd',
            library: 'webpack',
            publicPath: '/scripts/'
        },
        externals: {},
        devtool: 'source-map',
        resolve: {
            extensions: [".ts", ".tsx", ".js"],
            alias: {}
        },
        target: 'web',
        module: {
            rules: [{
                test: /\.tsx?$/,
                exclude: [/lib/, /dist/],
                loader: "ts-loader",
                options: {
                    configFile: "tsconfig-client.json"
                }
            },
            {
                test: /\.(eot|svg|ttf|woff|woff2)$/,
                loader: 'file-loader',
                options: {
                    name: 'public/fonts/[name].[ext]'
                }
            },
            {
                test: /\.s[ac]ss$/i,
                use: [
                    'style-loader',
                    'css-loader',
                    'sass-loader',
                ]
            }
            ]
        },
        performance: {
            maxEntrypointSize: 400000,
            maxAssetSize: 400000,
            assetFilter: function (assetFilename) {
                return assetFilename.endsWith('.js');
            }
        }
    }
];

module.exports = config;

我是他们将其嵌入html页面:

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <title>My Bookings</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="/styles/main.css">
</head>

<body>
    <script src="/scripts/client.js"></script>
    <script type='text/javascript'>
        webpack.TestClass.testFunction();
    </script>
</body>

</html>

任何关于我做错事情的指示都很好。如果浏览生成的client.js,则可以看到类和方法,所以我很茫然!

/*!*****************************!*\
  !*** ./src/scripts/Test.ts ***!
  \*****************************/
/*! namespace exports */
/*! export TestClass [provided] [no usage info] [missing usage info prevents renaming] */
/*! other exports [not provided] [no usage info] */
/*! runtime requirements: __webpack_require__.r, __webpack_exports__, __webpack_require__.d, __webpack_require__.* */
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "TestClass": () => /* binding */ TestClass
/* harmony export */ });
var TestClass = /** @class */ (function () {
    function TestClass() {
    }
    TestClass.prototype.testFunction = function () {
        // do stuff
    };
    return TestClass;
}());
伊莱贾·埃努姆·乌多古

问题是,你正试图从直接调用非静态方法TestClass,而不是创建一个新实例TestClass首次。

您需要testFunction在的新实例上调用方法,TestClass或者将testFunction方法声明static方法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

TypeError:调用类方法时不是函数

来自分类Dev

在Javascript中调用对象方法时,不是函数TypeError

来自分类Dev

Typescript:(中间值)。(...)从派生类中调用父类的方法时不是函数

来自分类Dev

函数调用父类方法而不是子类?

来自分类Dev

对类的set方法的调用导致“未捕获的TypeError:session.issue不是函数”

来自分类Dev

TypeError:this.attr不是类悬停时的函数

来自分类Dev

TypeError:this.attr不是类悬停时的函数

来自分类Dev

TypeError:类方法不是函数,对绑定此方法感到困惑

来自分类Dev

Type = TypeError中的TypeScript调用方法:this.print不是函数

来自分类Dev

在对象中调用方法时,Javascript中出现“未捕获的TypeError:未定义不是函数”的错误消息

来自分类Dev

调用超类的__init__方法时发生TypeError

来自分类Dev

调用超类的__init__方法时发生TypeError

来自分类Dev

当远程方法递归调用自身时,回调不是函数

来自分类Dev

尝试在JQuery中调用函数时出现“ TypeError:c.slice不是函数”

来自分类Dev

调用函数时收到错误“未捕获的TypeError:未定义不是函数”

来自分类Dev

当子组件尝试调用传递的函数时,在 React 中出现 typeError 说 this.props 不是函数

来自分类Dev

调用超类构造函数和方法时的异常处理

来自分类Dev

调用Firebase函数时,httpsCallable不是函数

来自分类Dev

TypeError:从函数调用时,null不是对象

来自分类Dev

类方法而不是Arrow函数

来自分类Dev

模拟调用“ upvote”的效果时发生异常。TypeError:未定义不是函数

来自分类Dev

尝试从对象调用get()或set()时得到“未捕获的TypeError:未定义不是函数”

来自分类Dev

在tvOS应用中从Swift调用JS函数时,“ TypeError:未定义不是对象”

来自分类Dev

传递调用结果时出现异常:TypeError:不是流星中的函数

来自分类Dev

在useEffect中调用Firestore时出现“未处理的拒绝(TypeError):snapshot.data不是函数”

来自分类Dev

从构造方法调用方法:错误:未捕获的TypeError:未定义不是一个函数

来自分类Dev

在继承时,基本构造函数调用虚拟方法,为什么类是Dervied并调用Dervied方法?

来自分类Dev

从类变量调用方法/函数

来自分类Dev

TypeError:运行Jest测试时无法将类作为函数调用

Related 相关文章

  1. 1

    TypeError:调用类方法时不是函数

  2. 2

    在Javascript中调用对象方法时,不是函数TypeError

  3. 3

    Typescript:(中间值)。(...)从派生类中调用父类的方法时不是函数

  4. 4

    函数调用父类方法而不是子类?

  5. 5

    对类的set方法的调用导致“未捕获的TypeError:session.issue不是函数”

  6. 6

    TypeError:this.attr不是类悬停时的函数

  7. 7

    TypeError:this.attr不是类悬停时的函数

  8. 8

    TypeError:类方法不是函数,对绑定此方法感到困惑

  9. 9

    Type = TypeError中的TypeScript调用方法:this.print不是函数

  10. 10

    在对象中调用方法时,Javascript中出现“未捕获的TypeError:未定义不是函数”的错误消息

  11. 11

    调用超类的__init__方法时发生TypeError

  12. 12

    调用超类的__init__方法时发生TypeError

  13. 13

    当远程方法递归调用自身时,回调不是函数

  14. 14

    尝试在JQuery中调用函数时出现“ TypeError:c.slice不是函数”

  15. 15

    调用函数时收到错误“未捕获的TypeError:未定义不是函数”

  16. 16

    当子组件尝试调用传递的函数时,在 React 中出现 typeError 说 this.props 不是函数

  17. 17

    调用超类构造函数和方法时的异常处理

  18. 18

    调用Firebase函数时,httpsCallable不是函数

  19. 19

    TypeError:从函数调用时,null不是对象

  20. 20

    类方法而不是Arrow函数

  21. 21

    模拟调用“ upvote”的效果时发生异常。TypeError:未定义不是函数

  22. 22

    尝试从对象调用get()或set()时得到“未捕获的TypeError:未定义不是函数”

  23. 23

    在tvOS应用中从Swift调用JS函数时,“ TypeError:未定义不是对象”

  24. 24

    传递调用结果时出现异常:TypeError:不是流星中的函数

  25. 25

    在useEffect中调用Firestore时出现“未处理的拒绝(TypeError):snapshot.data不是函数”

  26. 26

    从构造方法调用方法:错误:未捕获的TypeError:未定义不是一个函数

  27. 27

    在继承时,基本构造函数调用虚拟方法,为什么类是Dervied并调用Dervied方法?

  28. 28

    从类变量调用方法/函数

  29. 29

    TypeError:运行Jest测试时无法将类作为函数调用

热门标签

归档