[node-rs/jieba, lunr.zh error] top-level await is not available in the configured target environment

未关闭
#965 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
25/100
Issue 类型
缺陷
描述清晰度
需要澄清
活跃度
停滞
技术栈
node.js, vite, wasm
领域
build-system

调研方向

使用 Vue 3.4.4、Vite 4.5.3 和 Node 18.16 重现构建,然后跟踪通过 node_modules/lunr-languages/lunr.zh.js、node_modules/@node-rs/jieba/browser.js 和 jieba.wasi-browser.js 的导入。确定针对已报告的目标环境错误的兼容更改,并验证项目构建时不会出现 top-level-await 和 require 错误。

由索引模型根据 Issue 内容生成。

描述

I am getting following error while building my project:

✘ [ERROR] Top-level await is not available in the configured target environment ("chrome87", "edge88", "es2020", "firefox78", "safari14" + 2 overrides)

node_modules/@node-rs/jieba-wasm32-wasi/jieba.wasi-browser.js:22:19:
  22 │ const __wasmFile = await fetch(__wasmUrl).then((res) => res.arrayBuffer())
     ╵                    ~~~~~

✘ [ERROR] This require call is not allowed because the transitive dependency "node_modules/@node-rs/jieba-wasm32-wasi/jieba.wasi-browser.js" contains a top-level await

node_modules/lunr-languages/lunr.zh.js:33:37:
  33 │     module.exports = factory(require('@node-rs/jieba'))
     ╵                                      ~~~~~~~~~~~~~~~~

The file "node_modules/@node-rs/jieba/browser.js" imports the file
"node_modules/@node-rs/jieba-wasm32-wasi/jieba.wasi-browser.js" here:

node_modules/@node-rs/jieba/browser.js:1:14:
  1 │ export * from '@node-rs/jieba-wasm32-wasi'
    ╵               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The top-level await in "node_modules/@node-rs/jieba-wasm32-wasi/jieba.wasi-browser.js" is here:

node_modules/@node-rs/jieba-wasm32-wasi/jieba.wasi-browser.js:22:19:
  22 │ const __wasmFile = await fetch(__wasmUrl).then((res) => res.arrayBuffer())

Following is the environment
vue 3.4.4
vite 4.5.3
node 18.16

Appreciate your help with this issue. Thanks!

主要语言
Rust
星标
1.5k
派生
52
平均合并
1 天 2 小时
30 天内合并 PR
14

环境准备

这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

napi-rs/node-rs 的其他 Issue

查看 napi-rs/node-rs 的全部 Issue

相似的 Issue

更多 Rust Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。