我正在尝试使用以下节点模块read-excel-file上传和读取excel文件,并根据浏览器下的说明,我需要将此代码放入.js文件中:< / p>
import readXlsxFile from 'read-excel-file'
const input = document.getElementById('input')
input.addEventListener('change', () => {
readXlsxFile(input.files[0]).then((rows) => {
// `rows` is an array of rows
// each row being an array of cells.
})
})
但是浏览器不知道什么是import readXlsxFile from 'read-excel-file'
。应该注意的是,我正在使用http-server
在http://localhost:8080/
上查看我的项目
答案 0 :(得分:0)
TL; DR:您必须实际上将js代码编译为浏览可用的代码。使用Bower,Webpack或其他捆绑工具来这样做。
长话短说:浏览器无法理解导入(例如:资源在哪里?)。您可以使用bower或webpack之类的工具来创建JavaScript代码束,以在编译时检测从YY导入XX的javascript代码,这意味着它们必须在de node_modules或bower_modules文件夹中查找该模块,并将其包含在最终包中
PS:请注意,并非所有npm模块都可以在浏览器中运行,因为它们是节点模块,反之亦然(它们提供不同的API)。
答案 1 :(得分:0)
这里有两个问题:
read-excel-file软件包不支持客户端,因此您无法在浏览器中运行它。它仅适用于nodejs(server)
假设客户端(浏览器)已支持,您可以将JavaScript modules via script tag用于现代浏览器,也可以通过unpkg使用CDN链接。
答案 2 :(得分:0)
一个不同的库可能是答案。浏览器中的一种作品是sheetjs。
这里有一个有效的演示:https://sheetjs.com/demos/modify.html