首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >全局声明的顶级变量(ES6 Babel)

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

Stack Overflow用户
提问于 2015-08-04 00:04:56
回答 1查看 5.4K关注 0票数 4

有没有一种方法可以从ES6中的模块全局声明一个函数?如果我像这样声明一个变量:

代码语言:javascript
复制
global.variablename = function() {};
global.variablename2 = function() {};

这个函数将在我在主文件中导入的所有模块中可用。但是我如何将我所有的函数保存在一个文件中并全局导入呢?如果我导入它,则无法从外部插件访问这些函数。当他们调用该函数时,它的结果是未定义的。

提前感谢!

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

代码语言:javascript
复制
@using (Ajax.BeginForm("Action", "Controller", null,
                    new AjaxOptions { OnComplete = "ajaxCallback"},
                    new { id = "ajaxForm", @class = "" }))

如果我在主文件中声明"ajaxCallback“函数,如下所示:

代码语言:javascript
复制
global.ajaxCallback = function() {}

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

EN

回答 1

Stack Overflow用户

发布于 2015-11-29 12:43:10

可以将变量附加到window,但不建议这样做:

window.someVariable = 'foo'

或者,在webpack中,您可以通过以下方式对输出使用库属性:https://webpack.github.io/docs/library-and-externals.html#examples

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31791892

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档