gpt4 book ai didi

JavaScript 缩小后会丢失方法

转载 作者:行者123 更新时间:2023-12-01 00:48:34 25 4
gpt4 key购买 nike

我有一个简单的 JavaScript 文件,如下所示:

module.exports = function () {
return {
clearCookies: clearCookies,
setCookie: setCookie,
getCookie: getCookie
};
};

function getCookie(name) {
var i, x, y, ARRcookies = document.cookie.split(';');
for (i = 0; i < ARRcookies.length; i++) {
x = ARRcookies[i].substr(0, ARRcookies[i].indexOf('='));
y = ARRcookies[i].substr(ARRcookies[i].indexOf('=') + 1);
x = x.replace(/^\s+|\s+$/g, '');
if (x === name) {
return unescape(y);
}
}
return '';
}

function setCookie(name, value, expiresInDays) {
var expiryDate = new Date();
expiryDate.setDate(expiryDate.getDate() + expiresInDays);
var cookieValue = escape(value) + ((expiresInDays === null) ? '' : '; expires=' + expiryDate.toUTCString());
document.cookie = name + '=' + cookieValue;
}

function clearCookies() {
setCookie('token', '', 0);
setCookie('quoteDetails', '', 0);
location.href = 'index.html';
}

然后在我的ma​​in.js中我尝试这样做:

var { checkPostCode } = require('epc_common');
var { getCookie, setCookie } = require('epc_cookies');

$('#quotemebutton').click((e) => {
e.preventDefault();

let storedToken = getCookie('token');

/* ---- remove for brevity ---- */
});

我使用Bable来允许我使用es6,它会生成一个缩小的文件。问题是无法调用 getCookie 方法。

我得到的错误是:

Uncaught TypeError: a is not a function

我本以为当它缩小我的代码时,它会缩小需求以及调用方法?

任何帮助将不胜感激。

最佳答案

module.exports = function () {
return {
clearCookies: clearCookies,
setCookie: setCookie,
getCookie: getCookie
};
};

您有一个单个导出,它是一个函数,在调用时返回一个对象。但在

var { getCookie, setCookie } = require('epc_cookies');

您正在尝试检索 getCookiesetCookie 函数,而不调用 require 返回的函数。

仅导出普通对象,位于导出文件的底部:

module.exports = {
clearCookies: clearCookies,
setCookie: setCookie,
getCookie: getCookie
};

由于您使用的是 ES6,因此您可以使用简写属性名称:

module.exports = {
clearCookies,
setCookie,
getCookie
};

关于JavaScript 缩小后会丢失方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57174007/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com