问题标签 [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 投票
0 回答
160 浏览

javascript - 如何使用 esbuild + babel 插件将 nodejs 应用程序与 mongodb 捆绑

我正在尝试将 Web 应用程序与 esbuild 和 babel 插件捆绑在一起。但我得到一些错误。

esbuild 配置:

这是错误:

它指出 mongodb 需要一个 json 文件并且它不能被捆绑。如何让 esbuild 捆绑这个库?

0 投票
1 回答
864 浏览

vite - 在 Vite.js 项目中使用`compilerOptions.baseUrl`?

我正在尝试从 Create React App 迁移到 Vite.js,但我遇到了导入别名的问题。

jsconfig.json在 Create React App 中,我有一个compilerOptions.baseUrl设置为.srcimport Comp from 'components/MyComponentsrc/components/MyComponent

我不明白如何使用 Vite.js 和 esbuild 实现相同的目标?

0 投票
0 回答
153 浏览

angular - Angular 12.2 导致 Typescript 出现优化问题。所有类型都具有相同的名称并启用了优化

创建了一个简单的示例程序来显示在更大的应用程序中出现的问题。在 angular.json 中启用 buildOptimizer 和 Optimization 时,类型名称变为相同的字符。

当按下按钮时,这个简单的应用程序会在主应用程序模板中注入一个动态组件。它为从基础组件派生的每个组件都有一个工厂。第三个工厂只存储最后一个使用的。

成分:

Angular.json 如果我禁用 buildOptimizer 或优化选项,一切正常。

在禁用优化之一的情况下进行调试

1

如果启用两者,如下所示:

输出显示所有类的名称相同。所有优化: 2

0 投票
1 回答
603 浏览

typescript - 使用 esbuild 加载 SVG 文件

我正在使用带有 typescript react 的电子,并使用 esbuild bundler。

项目文件树:

我尝试使用 esbuild-plugin-svg,但出现了这个错误。

找不到模块“esbuild-plugin-svg”的声明文件。'd:/genius0412/github/checkaccess/node_modules/esbuild-plugin-svg/src/index.js' 隐含了一个 'any' 类型。尝试npm i --save-dev @types/esbuild-plugin-svg它是否存在或添加包含declare module 'esbuild-plugin-svg';ts(7016)的新声明 (.d.ts) 文件

另外,我尝试使用 esbuild-plugin-svgj,但它也不起作用。

错误:无法解析“react”(插件“svgj”没有设置解析目录)

我应该如何解决这个问题?

0 投票
0 回答
40 浏览

ruby-on-rails - 运行资产时的 Rails 链轮上下文:为 nil:NilClass 预编译未定义的方法 `[]'

跑步时

我得到了这个错误。我不知道在哪里看,因为它在我的项目之外。我可以在哪里深潜?

我正在使用 jsbundling + esbuild。

这里完整的回溯

[GEM_ROOT]/gems/sprockets-3.7.2/lib/sprockets/sass_processor.rb:278:in `sprockets_context'

--

宝石文件

0 投票
0 回答
35 浏览

node.js - esbuild 为什么不能在 Platform:Browser 中注入 js 文件

如果 ts/js 文件不使用node_modules,则此代码在浏览器中工作。

我需要导入node_modules我该怎么做

0 投票
0 回答
936 浏览

reactjs - 使用 Jest 测试 React 应用程序,使用 Vite 作为模块 Bundler;import.meta 错误

我正在用 Jest 测试一个 React-Typescript 应用程序;我的应用程序使用 Vite 作为模块捆绑器。问题是,每次我运行测试并开玩笑遇到 import.meta.ENV_VAR_NAME 语句时,我都会收到以下错误:“SyntaxError: Cannot use 'import.meta' outside a module”

这是我的 jest.config.js 文件:

在 jest.config 的转换键中,我尝试使用 @swc/jest 和 esbuild-jest,但没有解决 import.meta 问题;这个问题有解决方案吗?我可以在不使用 Babel 的情况下实现它吗?

在此先感谢您的时间

0 投票
1 回答
56 浏览

javascript - 用 ReactJS.NET 构建 Esbuild?

TL;DR我如何将esbuildReactJS.NET一起使用?


长版

ReactJS.NET 期望来自“捆绑包”的以下内容:

我一直不清楚 Webpack 到底做了什么,但是看看这里的 ReactJS.NET Webpack 教程,设置如下:

在此处的示例 webpack-config中,还有以下输出设置:

在 esbuild 中镜像这个将使用iifeand esbuild.globalName = 'this',但它会引发错误:

Esbuild 非常严厉,因为它是一个捆绑器(而不是转译和连接器),那么我将如何调整 Esbuild 以使捆绑包将global对象更改为 React.NET 所期望的?- 甚至有可能吗?

谢谢,弗莱明

0 投票
0 回答
119 浏览

ruby-on-rails - 在 Rails 7 中为 jsbundling-rails gem 运行 Watcher 作为 systemd 服务

我最近开始使用 Rails 7 alpha2,并尝试将新的 gems cssbundling-railsyarn build:css --watch和jsbundling -rails的观察者集成yarn build --watch到 systemd 服务中。我通常使用 systemd 来控制我的 Rails 应用程序的所有相关服务(Puma、Postgres、Redis...),因此将这些观察程序也添加到此设置中会非常方便。

使用下面给出的服务文件,它对于cssbundling-rails工作得非常好,但不知何故 jsbundling-rails 的观察程序立即以退出代码 0 终止。似乎 esbuild 没有进入观察模式。所以,我认为这是 esbuild 的问题。

CSS 服务文件:

CSS服务状态:

JS服务文件:

JS服务状态:

Rails 7 引入了一个foreman runner来控制 Puma 和提到的 watchers。由于工头允许导出到 systemd,我也试过这个。生成的 systemd 文件也有同样的问题,但在下面给出以供参考。

工头生成的JS服务文件:

0 投票
0 回答
104 浏览

node.js - 使用 esbuild 捆绑 Typescript NodeJS 项目的问题

我的设置

  • Typescript NodeJS 项目与esbuild
  • 我提供了一个来自更大的 monorepo 的示例(以展示我的问题),以部署到 AWS lambda
  • 我想捆绑,以便我的每个 lambda 具有他们需要的一切(无需配置每个 lambda 以具有正确的node_modules),以便我可以保持部署包较小(AWS 设置 250MB 限制)

样品在这里

https://github.com/ziggy6792/bundling-issue

我的问题

当我构建tsc然后运行yarn build && yarn start:build它工作正常当我构建esbuild然后运行yarn esbuild && yarn start:build我得到以下错误

故障排除

  • 我认为这个问题是由esbuild捆绑/摇树的方式引起的,我不相信这个错误与我使用 mongo db 的方式有任何关系(因为该错误仅在我捆绑时发生esbuild
  • 因此,我假设有一些解决方案围绕添加一些配置esbuild.config.js来告诉esbuild如何正确解决某些依赖项或其他东西
  • 当我不捆绑节点外部时,我没有收到此错误(请参阅esbuild.config.js第 16 行)
  • 我有一个working-lock-file实际上工作正常的分支。但是,如果我删除该锁定文件并yarn install再次出现错误。我需要能够找到一个合适的修复程序,这样我才能将修复程序带回到我原来的单一存储库中。
  • 我也在这里打开了一个问题
  • 我过去尝试过捆绑,webpack但也遇到了webpack与依赖解析/摇树相关的问题。我可能会调查parselrollup下一步。有兴趣了解您认为最适合捆绑 typescript nodejs 项目的方法。

任何帮助将不胜感激

非常感谢,