我用webpack4做了一个捆绑包。制作捆绑包文件很完美,但我的简单网站不能工作。
我想在加载html页面后执行getApple()函数。但我得到的是错误消息函数没有定义。
下面是我的源代码。
// index.js
function getApple () {
console.log('getApple');
}// ./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');}
...// 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>有没有人能帮帮我...
发布于 2020-07-14 16:19:07
看起来你的函数是在一个模块中,这意味着你不能通过窗口对象获取它,除非你发布它。因此,为了调用它,你可能需要在模块内部调用你的函数,或者等到你的站点加载后再调用:
function getApple () {
console.log('getApple');
}
getApple()
// OR
window.onload = () => getApple()或者,如果你想在window中注册你的函数,然后像你之前那样调用:
function getApple () {
console.log('getApple');
}
window.getApple = getApple;https://stackoverflow.com/questions/62890010
复制相似问题