功能未定义,但可以在控制台(Webpack)中使用

时间:2019-11-23 17:13:26

标签: javascript webpack webpack-dev-server

使用webpack时,我在功能方面遇到问题

这样定义的功能根本不可用:

function foo() {
    console.log("bar")
}

当我定义这样的函数时,它将在控制台中起作用:

window.foo = function() {
    console.log("bar")
}

但是从

之类的代码调用时,它不起作用
window.test = function () {
    foo()
};

<button onclick="test()">

1 个答案:

答案 0 :(得分:0)

这是预期的行为。 Webpack为每个模块创建一个单独的作用域。 在全局上下文中声明变量/函数/等的正确方法是使用window对象。

请记住,您不需要全局上下文(窗口)即可在模块之间共享功能。 您可以使用export语句从模块公开功能,并将其用于项目中的其他模块。