Deno 捆绑包替换

问题描述 投票:0回答:2

你能帮我替换过时的

deno bundle
命令吗?

我想为 esbuild 更改它,但是运行命令:

./node_modules/.bin/esbuild --bundle lib/commands/abc/main.ts --outfile=mod.abc.ts

给我一个错误:

[ERROR] Top-level await is currently not supported with the "iife" output format

我也尝试过使用

--format=cjs
--format=esm
选项,但输出仍然不同于
deno bundle
输出。例如。不包括进口。

我应该如何使用它?

或者你能帮我做其他选择吗?目标是在不修改主要代码的情况下快速删除

deno bundle

typescript bundle deno esbuild
2个回答
0
投票

esbuild CLI 界面不支持捆绑 Deno TypeScript 模块代码(至少在使用远程导入时是这样——例如

https://deno.land/...
)。

esbuild 的 JavaScript API 可以使用由 Deno 核心团队成员之一维护的插件来处理这些导入:https://github.com/lucacasonato/esbuild_deno_loader

插件的自述文件解释了它的用法,并且对 esbuild 的 JavaScript API 也进行了广泛的记录:https://esbuild.github.io/


0
投票

在当前的 Deno 版本 v1.32.3 中有三个推荐的

deno bundle
替换:

Warning "deno bundle" is deprecated and will be removed in the future.
Use alternative bundlers like "deno_emit", "esbuild" or "rollup" instead.

参见:

如果 esbuild 不工作,那么你可以检查其他的。此外,esbuild 有一个可能相关的项目 deno-esbuild:

Rollup 有一些关于 Deno 用法的说明:

deno_emit 是这三个中最以 Deno 为中心的——它具有与已删除的

Deno.emit()
相似的功能,但作为用户可加载模块,以避免将其代码包含在主 Deno 二进制文件中。原则上它应该与
deno bundle
最相似,但我不确定它已经有多稳定。

© www.soinside.com 2019 - 2024. All rights reserved.