问题标签 [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.
javascript - esbuild 不捆绑文件
我正在尝试使用 esbuild 在 npm 项目中捆绑和缩小我的文件。它正在最小化我传入的每个文件,但它不是捆绑。当有多个文件时,它给了我必须使用“outdir”的错误。但是,这让我将所有这些文件最小化到一个文件夹中。这不是我想要的行为,也不是捆绑。我只希望它获取所有这些文件并将它们合并为一个。
我已将 bundle 设置为 true,但它仍然要求我使用 outdir,它只是将这些文件最小化返回给我。他们基本上有 0 个关于此的文档,并且每篇关于它的在线帖子都只是从 GitHub 复制/粘贴自述文件。我怎样才能使它捆绑?
javascript - 从捆绑在一起的 JS 模块中指向公共依赖项的最佳方法是什么?
(下面的代码是一个简单的例子,实际场景更大)
我有两个模块mod1.js
和mod2.js
,它们捆绑在一起(使用esbuild)。它们共享一个共同的依赖关系,util.js
.
问题是:当mod2.js
导入代码时util.js
(使用相同的别名),名称有冲突。
util.js
:
mod1.js
:
mod2.js
:
如果我在 中更改别名mod2.js
,错误就会消失,正如预期的那样。但是每次导入时更改别名util.js
有点笨拙,让我觉得必须有另一种方法。
有没有更好的方法来指向捆绑在一起的多个模块的共同依赖关系?
提前致谢!
node.js - 从 node.js 错误中获取 firestore 文档
编码:
Firebase SDK 版本:7.19.1
该代码与 esbuild 捆绑在一起,生成与 rollup 相同的捆绑包。
在终端中运行时,它输出:
我已连接到互联网,但它显示我处于离线状态。我该如何解决??
esbuild - esbuild 在没有安装包的情况下失败
使用 esbuild 的项目失败如下...
...但是如果安装了包裹...
……它成功了。
测试是...
...但我也尝试从命令行运行以下命令,但出现相同的错误(无堆栈跟踪)...
冒犯require("events")
来自html-to-vdom
. 我的utility.js 很小,包含以下导入的...
我正在使用 esbuild v0.7.19。帮助。我还应该提供什么?
javascript - 如何使用 esbuild 将类公开到全局范围?
更新
用户@TKoL 建议在窗口对象中定义一个属性。这产生了我想要达到的结果,尽管我不知道这是否是正确的方法。我将暂时使用这种方法。谢谢!
我在我的项目中使用esbuild(第一次使用捆绑器/以这种“风格”开发 JS)。该项目是一个小型 Web 组件,我为此开发了一个最终用户应该能够在其脚本中使用的类。
就目前而言,最终用户能够像这样使用 HTML 中的小部件:
但是,我希望用户也可以通过 JavaScript 完成所有操作。
如何让esbuild将Widget类暴露给全局范围?我想这样做以启用以下行为:
node.js - 将 expressjs 与 esbuild 捆绑会导致缺少 view.js 警告
我正在尝试将“express.js”脚本与 esbuild 捆绑使用
作为 netlify/aws lambda 函数运行,似乎总是得到这个警告:
该功能似乎正在运行,但我想找出可能出了什么问题,我在任何地方都找不到任何在线提示?
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最后提供的)
在我看来,优化结果包(大小)是不可能的,因为捆绑过程不能假设哪些依赖项被使用或不使用,它当然可以被缩小,但修饰符号是毫无疑问的。
链接:
- https://github.com/cytoscape/cytoscape.js/issues/2810 - 这个问题解释了 cytoscape.js 用例
- 最简单的 cytoscape.js 构建系统?- 类似的问题,仅提供答案并不能解决获取具有依赖关系的布局的问题
- https://github.com/smarek/cytoscape.bundle.js/tree/esbuild - 使用 ESBuild 实际使用很少布局示例的 cytoscape
javascript - 在 esbuild 编译输出中包含完整文件路径
我想在我的浏览器中将此文件作为 es 模块。HelloApp.tsx
我在跑npx esbuild ./**/*.tsx --outdir=esbuilt --format=esm
输出:
浏览器无法使用这些导入。理想情况下,路径将类似于import React from "/scripts/react.js"
你如何告诉 esbuild 编写这样的导入?
reactjs - 未捕获的 ReferenceError:未定义 XXX_default
我发现将 viteJs 迁移到 react 尤其是与材料 ui 反应的问题
这是我的部分代码:
这是错误: 错误
我发现这是 vitejs 的问题,但那里的解决方案对我不起作用:https ://github.com/vitejs/vite/issues/1853
请问有什么解决办法吗?
typescript - 是否可以混合使用 ts-loader 和 esbuild-loader?
有没有办法混合 esbuild-loader 和 ts-loader?这样所有.ts
文件都使用 esbuild 编译 - 除非文件中有装饰器,否则文件使用 tsc 编译?