问题标签 [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 + babel 插件将 nodejs 应用程序与 mongodb 捆绑
我正在尝试将 Web 应用程序与 esbuild 和 babel 插件捆绑在一起。但我得到一些错误。
esbuild 配置:
这是错误:
它指出 mongodb 需要一个 json 文件并且它不能被捆绑。如何让 esbuild 捆绑这个库?
vite - 在 Vite.js 项目中使用`compilerOptions.baseUrl`?
我正在尝试从 Create React App 迁移到 Vite.js,但我遇到了导入别名的问题。
jsconfig.json
在 Create React App 中,我有一个compilerOptions.baseUrl
设置为.src
import Comp from 'components/MyComponent
src/components/MyComponent
我不明白如何使用 Vite.js 和 esbuild 实现相同的目标?
angular - Angular 12.2 导致 Typescript 出现优化问题。所有类型都具有相同的名称并启用了优化
创建了一个简单的示例程序来显示在更大的应用程序中出现的问题。在 angular.json 中启用 buildOptimizer 和 Optimization 时,类型名称变为相同的字符。
当按下按钮时,这个简单的应用程序会在主应用程序模板中注入一个动态组件。它为从基础组件派生的每个组件都有一个工厂。第三个工厂只存储最后一个使用的。
成分:
Angular.json 如果我禁用 buildOptimizer 或优化选项,一切正常。
在禁用优化之一的情况下进行调试
如果启用两者,如下所示:
输出显示所有类的名称相同。所有优化:
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”没有设置解析目录)
我应该如何解决这个问题?
ruby-on-rails - 运行资产时的 Rails 链轮上下文:为 nil:NilClass 预编译未定义的方法 `[]'
跑步时
我得到了这个错误。我不知道在哪里看,因为它在我的项目之外。我可以在哪里深潜?
我正在使用 jsbundling + esbuild。
这里完整的回溯
[GEM_ROOT]/gems/sprockets-3.7.2/lib/sprockets/sass_processor.rb:278:in `sprockets_context'
--
宝石文件
node.js - esbuild 为什么不能在 Platform:Browser 中注入 js 文件
如果 ts/js 文件不使用node_modules,则此代码在浏览器中工作。
我需要导入node_modules我该怎么做
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 的情况下实现它吗?
在此先感谢您的时间
javascript - 用 ReactJS.NET 构建 Esbuild?
TL;DR我如何将esbuild与ReactJS.NET一起使用?
长版
ReactJS.NET 期望来自“捆绑包”的以下内容:
我一直不清楚 Webpack 到底做了什么,但是看看这里的 ReactJS.NET Webpack 教程,设置如下:
在此处的示例 webpack-config中,还有以下输出设置:
在 esbuild 中镜像这个将使用iife
and esbuild.globalName = 'this'
,但它会引发错误:
Esbuild 非常严厉,因为它是一个捆绑器(而不是转译和连接器),那么我将如何调整 Esbuild 以使捆绑包将global
对象更改为 React.NET 所期望的?- 甚至有可能吗?
谢谢,弗莱明
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服务文件:
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
与依赖解析/摇树相关的问题。我可能会调查parsel
或rollup
下一步。有兴趣了解您认为最适合捆绑 typescript nodejs 项目的方法。
任何帮助将不胜感激
非常感谢,