首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未定义Webpack4捆绑函数

未定义Webpack4捆绑函数
EN

Stack Overflow用户
提问于 2020-07-14 15:24:23
回答 1查看 125关注 0票数 0

我用webpack4做了一个捆绑包。制作捆绑包文件很完美,但我的简单网站不能工作。

我想在加载html页面后执行getApple()函数。但我得到的是错误消息函数没有定义。

下面是我的源代码。

代码语言:javascript
复制
// index.js

function getApple () {
    console.log('getApple');
}
代码语言:javascript
复制
// ./dist/main.js
! function(t) {
    var a = {};

    function o(e) {
        if (a[e]) return a[e].exports;
        var n = a[e] = {
            i: e,
            l: !1,
            exports: {}
        };
        return t[e].call(n.exports, n, n.exports, o), n.l = !0, n.exports
    }
    o.m = t, o.c = a, o.d = function(e, n, t) {
        o.o(e, n) || Object.defineProperty(e, n, {
            enumerable: !0,
            get: t
        })
    }, o.r = function(e) {
        "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {
            value: "Module"
        }), Object.defineProperty(e, "__esModule", {
            value: !0
        })
    }, o.t = function(n, e) {
        if (1 & e && (n = o(n)), 8 & e) return n;
        if (4 & e && "object" == typeof n && n && n.__esModule) return n;
        var t = Object.create(null);
        if (o.r(t), Object.defineProperty(t, "default", {
                enumerable: !0,
                value: n
            }), 2 & e && "string" != typeof n)
            for (var a in n) o.d(t, a, function(e) {
                return n[e]
            }.bind(null, a));
        return t
    }, o.n = function(e) {
        var n = e && e.__esModule ? function() {
            return e.default
        } : function() {
            return e
        };
        return o.d(n, "a", n), n
    }, o.o = function(e, n) {
        return Object.prototype.hasOwnProperty.call(e, n)
    }, o.p = "", o(o.s = 0)
}({
    "./index.js": function(module, __webpack_exports__, __webpack_require__) {
            "use strict";
            eval('__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_polyfill__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/polyfill */ "./node_modules/@babel/polyfill/lib/index.js");\n/* harmony import */ var _babel_polyfill__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_polyfill__WEBPACK_IMPORTED_MODULE_0__);\n\n\nfunction getApple () {console.log('getApple');}
...
代码语言:javascript
复制
// index.php
<head>
    <script type="text/javascript" src="./dist/main.js<?php echo '?version=' . $_versionCode ?>"></script>
</head>
<body>
    <script>getApple(); // not working: Uncaught ReferenceError: getApple is not defined</script>
</body>

有没有人能帮帮我...

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-14 16:19:07

看起来你的函数是在一个模块中,这意味着你不能通过窗口对象获取它,除非你发布它。因此,为了调用它,你可能需要在模块内部调用你的函数,或者等到你的站点加载后再调用:

代码语言:javascript
复制
function getApple () {
  console.log('getApple');
}

getApple()

// OR

window.onload = () => getApple()

或者,如果你想在window中注册你的函数,然后像你之前那样调用:

代码语言:javascript
复制
function getApple () {
  console.log('getApple');
}

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

https://stackoverflow.com/questions/62890010

复制
相关文章

相似问题

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