对象不是一个函数(在react-native中评估'function()')

时间:2018-01-16 08:32:07

标签: react-native

我最近通过npm安装了名为'trilat'的软件包。

安装完这个包后我看到了一个警告。 (说我跳过了可选的依赖:fsevents@1.1.3(node_modules / fsevents) 不受支持的fsevents@1.1.3平台:want {“os”:“darwin”,“arch”:“any”}(当前:{“os”:“win32”,“arch”:“x64”})< / p>

我没关心这个错误,因为npm安装了整个包。

但是在我使用这个包编写代码之后,我看到了一个错误消息,看起来像是问题标题。

它表示Object不是一个函数(评估'abstractMatrix()'),而abstractMatrix是在包中声明的函数。

我没有看到由于fsevent(npm表示在darwin中支持它)而发生此错误。

这是与abstractMatrix()

相关的部分代码
function abstractMatrix(superCtor) {
    if (superCtor === undefined) superCtor = Object;

/**
 * Real matrix
 * @class Matrix
 * @param {number|Array|Matrix} nRows - Number of rows of the new matrix,
 * 2D array containing the data or Matrix instance to clone
 * @param {number} [nColumns] - Number of columns of the new matrix
 */
    class Matrix extends superCtor {
        static get [Symbol.species]() {
            return this;
        }

。 。 。 等等

我做错了什么?

1 个答案:

答案 0 :(得分:0)

  

如果你想在没有browserify / webpack / etc的浏览器中使用它,   包括dist.js文件,该文件将符号trilat公开为全局   功能

来自this repo的项目作者的最后一句话。

因此,将该项目中的dist.js文件包含到项目 src 文件中,甚至可以将其放在utils目录中。将其导入您要使用的文件并从那里使用。

该项目使用webpack / browserify和其他我怀疑包含在你的构建中的东西。