运行webpack后未定义Javascript函数 [英] Javascript function is undefined after running webpack

查看:71
本文介绍了运行webpack后未定义Javascript函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我的webpack.config.js

Here is my 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:

Here is the file, index.js, where the webpack is ran:

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= "Jsmith@domain.com"
    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,其功能已运行:

And then here is my html with the function ran:

<!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(). 我不知道... 非常感谢您的帮助.

then after clicking on the button, it states that test() is undefined... I can't figure it out... Any help is GREATLY appreciated.

推荐答案

您没有将test()导出到window.

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

module.exports = {...} won't automagically get injected into window, but:

  • 您可以设置output.libraryTarget: 'window'output.library: 'something'配置选项并获取window.something.test()(此处的文档),
  • 您可以在Webpack入口点的末尾手动执行window.test = test;而不是导出内容.
  • you can set the output.libraryTarget: 'window' and output.library: 'something' configuration options and get window.something.test() (docs here), or
  • you can manually do window.test = test; at the end of your Webpack entry point instead of exporting things.

这篇关于运行webpack后未定义Javascript函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆