问题标签 [esbuild]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3070 浏览

javascript - esbuild 不捆绑文件

我正在尝试使用 esbuild 在 npm 项目中捆绑和缩小我的文件。它正在最小化我传入的每个文件,但它不是捆绑。当有多个文件时,它给了我必须使用“outdir”的错误。但是,这让我将所有这些文件最小化到一个文件夹中。这不是我想要的行为,也不是捆绑。我只希望它获取所有这些文件并将它们合并为一个。

我已将 bundle 设置为 true,但它仍然要求我使用 outdir,它只是将这些文件最小化返回给我。他们基本上有 0 个关于此的文档,并且每篇关于它的在线帖子都只是从 GitHub 复制/粘贴自述文件。我怎样才能使它捆绑?

0 投票
1 回答
355 浏览

javascript - 从捆绑在一起的 JS 模块中指向公共依赖项的最佳方法是什么?

(下面的代码是一个简单的例子,实际场景更大)

我有两个模块mod1.jsmod2.js,它们捆绑在一起(使用esbuild)。它们共享一个共同的依赖关系,util.js.

问题是:当mod2.js导入代码时util.js(使用相同的别名),名称有冲突。

util.js

mod1.js

mod2.js

如果我在 中更改别名mod2.js,错误就会消失,正如预期的那样。但是每次导入时更改别名util.js有点笨拙,让我觉得必须有另一种方法。

有没有更好的方法来指向捆绑在一起的多个模块的共同依赖关系?

提前致谢!

0 投票
1 回答
170 浏览

node.js - 从 node.js 错误中获取 firestore 文档

编码:

Firebase SDK 版本:7.19.1

该代码与 esbuild 捆绑在一起,生成与 rollup 相同的捆绑包。

在终端中运行时,它输出:

我已连接到互联网,但它显示我处于离线状态。我该如何解决??

0 投票
1 回答
789 浏览

esbuild - esbuild 在没有安装包的情况下失败

使用 esbuild 的项目失败如下...

...但是如果安装了包裹...

……它成功了。

测试是...

...但我也尝试从命令行运行以下命令,但出现相同的错误(无堆栈跟踪)...

冒犯require("events")来自html-to-vdom. 我的utility.js 很小,包含以下导入的...

我正在使用 esbuild v0.7.19。帮助。我还应该提供什么?

0 投票
0 回答
610 浏览

javascript - 如何使用 esbuild 将类公开到全局范围?

更新

用户@TKoL 建议在窗口对象中定义一个属性。这产生了我想要达到的结果,尽管我不知道这是否是正确的方法。我将暂时使用这种方法。谢谢!


我在我的项目中使用esbuild(第一次使用捆绑器/以这种“风格”开发 JS)。该项目是一个小型 Web 组件,我为此开发了一个最终用户应该能够在其脚本中使用的类。

就目前而言,最终用户能够像这样使用 HTML 中的小部件:

但是,我希望用户也可以通过 JavaScript 完成所有操作。

如何让esbuildWidget类暴露给全局范围?我想这样做以启用以下行为:

0 投票
1 回答
793 浏览

node.js - 将 expressjs 与 esbuild 捆绑会导致缺少 view.js 警告

我正在尝试将“express.js”脚本与 esbuild 捆绑使用

作为 netlify/aws lambda 函数运行,似乎总是得到这个警告:

该功能似乎正在运行,但我想找出可能出了什么问题,我在任何地方都找不到任何在线提示?

0 投票
0 回答
101 浏览

javascript - 将 javascript/npm 库与依赖项捆绑在一起

问题将在我当前的用例中得到演示,将 cytoscape.js 与依赖项(布局及其各自的依赖项)捆绑在一起,但答案不应限于此用例。此外,答案可能使用其他依赖管理工具或捆绑程序,而不是我在问题中提到/尝试过的。


我对在 JS 环境中使用 npm/yarn 或其他依赖管理系统的可能性感兴趣,以获得具有各自依赖关系的项目依赖关系(依赖关系树的完整深度)并能够将它们捆绑用于非 JS 应用程序,其中此类捆绑可用于标准 HTML/CSS/JS 应用程序(无论服务器端语言如何)

我目前正在使用 Cytoscape.js 在我的应用程序中呈现图形。由于我想为用户提供更改图形布局的选项,因此我正在使用 cytoscape.js ( https://js.cytoscape.org/#extensions/layout-extensions ) 支持的几个布局扩展。即可乐、cise 和 dagre (d3)

在我的案例中,带有扩展名和所需依赖项的 cytoscape 的完整包是 8 个文件,我有时从 github 存储库(通常是dist文件夹或releases. 原因是并非所有依赖项都在存储库、cdn 或其他地方很好地命名和提供了发布文件。

我希望有可能,创建 js 项目(使用 npm/yarn),添加我需要的依赖项,让 npm/yarn 找出项目中所有依赖项的正确最新版本,并让捆绑程序创建单个缩小而不是-mangled javascript 文件,可以在标准 javascript/jquery 前端代码中使用,而不必在同一个项目中编写 my-app javascript

问题是,是否可以自动打包 js 项目依赖,并提供可以在非 js 应用程序中使用的 js 包?(例如,类似于Jquery UI Download Builder最后提供的)

在我看来,优化结果包(大小)是不可能的,因为捆绑过程不能假设哪些依赖项被使用或不使用,它当然可以被缩小,但修饰符号是毫无疑问的。


链接:

0 投票
1 回答
208 浏览

javascript - 在 esbuild 编译输出中包含完整文件路径

我想在我的浏览器中将此文件作为 es 模块。HelloApp.tsx

我在跑npx esbuild ./**/*.tsx --outdir=esbuilt --format=esm

输出:

浏览器无法使用这些导入。理想情况下,路径将类似于import React from "/scripts/react.js"

你如何告诉 esbuild 编写这样的导入?

0 投票
0 回答
325 浏览

reactjs - 未捕获的 ReferenceError:未定义 XXX_default

我发现将 viteJs 迁移到 react 尤其是与材料 ui 反应的问题

这是我的部分代码:

这是错误: 错误

我发现这是 vitejs 的问题,但那里的解决方案对我不起作用:https ://github.com/vitejs/vite/issues/1853

请问有什么解决办法吗?

0 投票
1 回答
292 浏览

typescript - 是否可以混合使用 ts-loader 和 esbuild-loader?

有没有办法混合 esbuild-loader 和 ts-loader?这样所有.ts文件都使用 esbuild 编译 - 除非文件中有装饰器,否则文件使用 tsc 编译?