Typescript 如何在所有模块内导入自定义函数?

Typescript 如何在所有模块内导入自定义函数?,typescript,webpack,Typescript,Webpack,我有以下职能: function __extends(d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); } 我如何通过Webpack将函数作为变量

我有以下职能:

function __extends(d, b) {
    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
    function __() { this.constructor = d; }
    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
}

我如何通过Webpack将函数作为变量
\uu扩展到所有模块中?

您的自定义函数是否在全局范围内?您可以使用别名将其命名为:

new webpack.DefinePlugin({
__extends: "window.__extends"
})

您的自定义函数是否在全局范围内?您可以使用别名将其命名为:

new webpack.DefinePlugin({
__extends: "window.__extends"
})

使一个函数在所有模块中都可用的一种方法是将该函数移动到一个模块中,并让webpack在需要时自动加载它。为此,您只需:

1.-将
\u extensed
函数移动到导出此函数的模块中:

function __extends(d, b) {
    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
    function __() { this.constructor = d; }
    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
}
扩展.js

function __extends(d, b) {
    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
    function __() { this.constructor = d; }
    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
}

module.exports = __extends;
2.-将webpack配置为每当
\uu extends
用作自由变量时自动要求/导入此模块。为此,只需使用:


现在,您可以在任何地方自由使用
\uu extends
,而无需显式导入/要求它。Webpack将为您提供服务。

使功能在所有模块中都可用的一种方法是将此功能移动到模块中,并在需要时让Webpack自动加载它。为此,您只需:

1.-将
\u extensed
函数移动到导出此函数的模块中:

function __extends(d, b) {
    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
    function __() { this.constructor = d; }
    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
}
扩展.js

function __extends(d, b) {
    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
    function __() { this.constructor = d; }
    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
}

module.exports = __extends;
2.-将webpack配置为每当
\uu extends
用作自由变量时自动要求/导入此模块。为此,只需使用:


现在,您可以在任何地方自由使用
\uu extends
,而无需显式导入/要求它。Webpack将为您提供服务。

现在
\u将扩展为节点模块


现在,
\u将
扩展为节点模块


有没有办法不将uu exteds作为全局变量传递?如果是这样的话,有没有办法不加定义地做到这一点?我使用gulp webpack和gulp webpack配置中不支持的插件。我能想到的唯一其他方法是将你的uu extends函数定义与你的应用程序捆绑在一起,并让webpack自动将其与你的其余代码连接起来。如果我将此函数与我的应用程序捆绑在一起,我需要导入(或需要)模块内部的功能?如果是,这是一个糟糕的解决方案=(有没有办法不将uu exteds作为全局变量传递?如果有,有没有办法不定义插件?我使用gulp webpack和gulp webpack配置中不支持的插件。我能想到的唯一其他办法是将你的uu extends函数定义与你的应用程序捆绑在一起,让webpack自动与如果我将此函数与我的应用程序捆绑在一起,我需要在模块内导入(或要求)该函数?如果是,这是一个糟糕的解决方案=(我这样做了,但出现错误:
找不到模块)。/extends“
extends.js
在设置
模块目录:['node\u modules','”后靠近网页包配置(用于测试)
每个人都工作得很好。这很奇怪。它不应该抱怨,因为您实际上在
webpack.config.js
旁边有
extends.js
模块。我这样做了,但出现了错误:
找不到模块。设置
模块目录后,
extends.js
在webpack config(用于测试)附近:['node_modules','..]
每个人都工作得很好。这很奇怪。它不应该抱怨,因为您实际上在
webpack.config.js
模块旁边有
extends.js
模块。