是否存在从ES6中的模块声明一个函数globaly的方法? 如果我声明一个这样的变量:
global.variablename = function() {};
global.variablename2 = function() {};
在我的主文件中导入的所有模块中都可以使用此功能。 但是如何将我的所有功能保存在文件中并将其导入全局?如果我导入它,则无法从外部插件访问这些功能。当他们调用函数时,结果是未定义的。
提前致谢!
编辑:正如我在评论中写的那样,我有这个问题: 当我使用不显眼的ajax创建一个ajax表单时,我设置了完整事件的回调,如下所示:
@using (Ajax.BeginForm("Action", "Controller", null,
new AjaxOptions { OnComplete = "ajaxCallback"},
new { id = "ajaxForm", @class = "" }))
如果我在主文件中声明“ajaxCallback”函数,如下所示:
global.ajaxCallback = function() {}
回调工作正常。如果我将它放在一个模块中并导入它(在主文件中),它就不起作用,因为它不在全局上下文中。我必须从模块中导入它,但是在全局上下文中。有可能吗?
答案 0 :(得分:3)
将变量附加到window
会起作用但不建议使用,例如:
window.someVariable = 'foo'
或者在webpack中,您可以通过以下方式使用输出中的库属性: https://webpack.github.io/docs/library-and-externals.html#examples