gpt4 book ai didi

javascript - 如何使用 requirejs : jszip is not defined 包含 jszip

转载 作者:行者123 更新时间:2023-11-30 07:22:39 25 4
gpt4 key购买 nike

我正在使用 js-xlsx用于在 JavaScript 中创建 Excel 文件的库。

这个库使用jszip。我试图在加载 jszip 之前在我的 JavaScript 文件中定义 jszip 库,但从未定义 jszip:

Uncaught TypeError: jszip is not a function

配置要求:

<script type="text/javascript">
requirejs.config({
paths : {
jszip : '../tools/jszip'
}
});
</script>

这是我在 JS 文件中使用它的方式:

define(['jszip', '../tools/xlsx'], function(jszip, xlsx) {
...
}

最佳答案

在加载 XLSX 之前,必须加载 JSZip(和支持 ods 扩展的 ODS)并将其附加到窗口。我正在使用带有自定义“xlsx-loader”的垫片使其工作:

ma​​in.js

requirejs.config({
paths: {
ods: '...path to ods',
jszip: '...path to jszip',
xlsxloader: '...path to xlsx-loader',
xlsx: '...path to xlsx'
},
shim: {
xlsx: {
exports: 'XLSX',
deps: ['xlsxloader']
}
}
});

xlsx-loader.js

define(['jszip', 'ods'], function (jszip, ods) {
"use strict";

window.JSZip = jszip;
window.ODS = ods;
});

你的 JS 文件

define(['xlsx'], function () {
// Do what you want with XLSX
...

选项 2) 您也可以实现此链接要求,它不需要任何垫片但不适用于优化器

require(['jszip', 'ods'], function (jszip, ods) {
window.JSZip = jszip;
window.ODS = ods;
require(['xlsx'], function () {
// Do what you want with XLSX
...
});
});

关于javascript - 如何使用 requirejs : jszip is not defined 包含 jszip,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32539040/

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