... ... ... ...

基本Webpack不适用于按钮单击功能-未捕获参考错误:未定义

JavaScript Webpack

西里神奇

2020-03-24

我有一个带有按钮的基本HTML页面:

<!DOCTYPE html>
<html lang="en">
<head>
  ...
</head>
<body>
    <button id="button" onclick="uclicked()">Click me</button>
    <script src="./bundle.js"></script>
</body>
</html>

app.js

//(function(){
    console.log('started up')
    function uclicked(){
        console.log('You clicked');
    }
//})();

webpack已安装并webpack --watch成功。webpack.config.js是:

module.exports={
    entry: './app.js',
    output: {
        path: __dirname,
        filename: 'bundle.js'
    }
}

当我加载页面console.log时,但是当我按下按钮时,我得到了Uncaught ReferenceError: uclicked is not defined

如果我更换<script src="./bundle.js"></script><script src="./app.js"></script>和旁路的WebPack按钮点击罚款。为什么这个基本的webpack设置不起作用?

第3560篇《基本Webpack不适用于按钮单击功能-未捕获参考错误:未定义》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

1个回答
GO 2020.03.24

当您在webpack上运行文件时,webpack会尝试不要乱扔全局范围,因此默认情况下该功能将不会在全局范围内可用。

如果希望在JS文件范围之外访问该函数,则应将其放在全局范围内。

function uclicked() {
  // do something
}
window.uclicked = uclicked;

要不就:

window.uclicked = function() {
  // do something
}

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android