浏览器环境下怎么通过工程化支持commonjs规范的包?

起因

WeChatWorkScreenshot_4db34662-bc92-48f6-9de7-cb7864a4fa39.png
问题的起因是因为前端来读压缩包里面的json文件这个需求,于是我使用了jszip这个库,但是文件编码只支持UTF-8。对于其他编码要使用另外的解码库,iconv-lite我看了一下,他官网只提了一嘴可以使用webpack,在浏览器中使用,但是我没找到相关webpack配置 :)

这里顺便在抛出一个问题,就算解决了第一个问题, 我怎么知道zip文件中的文件编码格式是什么,我找了一些库,发现支持的编码类型不全,要不然就是相关库相对于py来讲很少。我目前解决是用try catch语句来处理除UTF-8之外的逻辑

阅读 2.1k
1 个回答
  • 要在浏览器环境下支持 CommonJS 规范的包,你可以使用工具例如 BrowserifyWebpackRollup.js 等进行打包。这些工具可以将 CommonJS 模块转换为浏览器可用的代码,从而使你能够在浏览器中使用这些模块。
  • 对于使用 jszip 库来读取压缩包中的文件,如果你需要支持其他编码格式,可以使用类似于 iconv-lite 这样的库来进行解码。将解码后的文本传递给 jszip 库进行处理即可。
  • 关于如何知道 zip 文件中的文件编码格式是什么,可以尝试使用一些自动检测编码的库,例如 jschardetencoding-japanese 等。这些库可以通过分析文本内容来自动检测编码格式。如果没有找到对应的编码格式,可以使用默认编码格式进行解码,或者抛出异常进行处理。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题