全局声明的顶级变量(ES6 Babel)

Top variable declared globaly (ES6 Babel)

本文关键字:ES6 Babel 变量 声明 全局      更新时间:2023-09-26

存在一个方法来声明一个函数全局从模块在ES6?如果我这样声明一个变量:

global.variablename = function() {};
global.variablename2 = function() {};

此函数将在我在主文件中导入的所有模块中可用。但我怎么能保存我所有的函数在一个文件,并导入全局?如果我导入它的函数不能从外部插件访问。当他们调用这个函数时,结果是undefined

提前感谢!

编辑:当我写我的评论,我有这个问题:当我使用不引人注目的ajax创建ajax表单时,我将完整事件的回调设置为如下所示:

@using (Ajax.BeginForm("Action", "Controller", null,
                    new AjaxOptions { OnComplete = "ajaxCallback"},
                    new { id = "ajaxForm", @class = "" }))

如果我像这样在主文件中声明"ajaxCallback"函数:

global.ajaxCallback = function() {}

回调工作正常。如果我把它放在一个模块中并导入它(在主文件中),它不会工作,因为它不在全局上下文中。我必须从一个模块导入它,但在全局上下文中。这可能吗?

将变量附加到window也可以,但不建议使用,例如:

window.someVariable = 'foo'

在webpack中,你也可以在输出中使用library属性:https://webpack.github.io/docs/library-and-externals.html示例