运行webpack后Javascript功能未定义

问题描述 投票:0回答:1

下面是我的webpack.config.js。

module.exports = {
    entry: "./src/index.js",//path relative to this file
    output: {
        filename: "../frontEnd/bundle.js",//path relative to this file
    },
    externals: {
        puppeteer: 'require("puppeteer")',
    },
    mode: 'development'
  }

这里是运行webpack的index.js文件。

var backendScript = require('../backEnd/backend');
var safeBackendScript = require('../backEnd/safeBackend');

function test(){
    document.getElementById("Fname").value= "John"
    document.getElementById("Lname").value= "Smith"
    document.getElementById("Phone").value= "1234567890"
    document.getElementById("Email").value= "[email protected]"
    document.getElementById("Saddress").value= "123 Main Street"
    document.getElementById("Zip").value= "12345"
    document.getElementById("country").value= "USA"
    document.getElementById("state").value= "NJ"
    document.getElementById("cardtype").value= "AE"
    document.getElementById("Cname").value= "JOHN H SMTIH"
    document.getElementById("Cnumber").value= "1234567890101112"
    document.getElementById("CVV").value= "123"
    document.getElementById("cardmonth").value= "01"
    document.getElementById("cardyear").value= "2035"
    document.getElementById("category").value= "jackets"
    document.getElementById("kword").value= "Supreme Jacket"
    document.getElementById("delay").value= "120"
    document.getElementById("color").value= "C2"
    document.getElementById("size").value= "L"
}

module.exports = {
    test: test
}

然后这是我的html,里面有函数运行的地方:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="index.css">
    <script src="https://www.google.com/recaptcha/api.js" async defer></script>
    <script type= "text/javascript" src="./bundle.js"></script>
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
    <title>Supreme Bot</title>
</head>
<body style="margin: 20px">
   <button onclick="test()"> test </button>
</body>
</html>

然后在点击按钮后,它说test()是未定义的......我想不通......任何帮助都是非常感激的。

javascript webpack laravel-mix
1个回答
4
投票

你不是在输出 test()window.

module.exports = {...} 不会自动被注入到 window但是,

  • 你可以设置 output.libraryTarget: 'window'output.library: 'something' 配置选项,并获得 window.something.test() (这里的文档),
  • 你可以手动做 window.test = test; 在你的Webpack入口点的末尾,而不是导出东西。
© www.soinside.com 2019 - 2024. All rights reserved.