编程语言
首页 > 编程语言> > javascript-顶部变量声明为globaly(ES6 Babel)

javascript-顶部变量声明为globaly(ES6 Babel)

作者:互联网

是否存在从ES6中的模块声明函数全局性的方法?
如果我声明这样的变量:

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

我在主文件中导入的所有模块都将提供此功能.
但是,如何将所有功能保存到文件中并全局导入呢?如果我将其导入,则无法从外部插件访问功能.当他们调用该函数时,其结果不确定.

提前致谢!

编辑:正如我在评论中写道,我有这个问题:
当我创建一个不带干扰的ajax的ajax表单时,我为complete事件设置了回调,如下所示:

@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#examples

标签:ecmascript-6,global-variables,javascript,function
来源: https://codeday.me/bug/20191119/2039913.html