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

typescript - esbuild + knex:找不到模块'../../dialects/mysql/index.js'

我目前正在尝试将一些代码从 javascript 迁移到 typescript。此代码使用knex包。我可以使用 构建和运行它tsc,但我想esbuild改用它(为了更快地构建)。

我用:

但是当我尝试运行编译后的代码时,我得到:

我不知道这个dialect目录是什么,也找不到任何关于它的文档。我看了一下这个 SO question,但无法真正理解其中的代码,并且错误似乎更多关于browserified.

这是我用来重现错误的代码:

有趣的是,仅使用mysql包而不knex使用两者都很tsc好用esbuild.

由于某种原因,只有构建esbuild失败。我首先以为我错过了一个包,我安装了@types/node@types/mysql,但它并没有解决我的问题。

如果有帮助,我使用以下内容tsconfig.json

0 投票
1 回答
489 浏览

webpack - 如何使用 SCSS、PurgeCSS 和 LiveServer 设置自定义 ESBuild?

背景:

我有一个Webpack 设置,我使用 PurgeCSS 预处理 SCSS,并使用带有esbuild-loader的实时 HMR 服务器来加速 Webpack 中的编译,但即便如此我的编译时间仍然很慢,我想要 ESBuild 的原始速度并删除 Webpack完全设置。

ESBuild 的基本设置很简单,您可以使用 npm 安装 esbuild 并在package.json中添加以下代码:

并使用以下命令运行它:

这种单行配置将捆绑您的脚本和样式(您可以在 script.js 中导入 style.css)并在 dist 目录中输出文件,但这不允许 ESBuild 的高级配置,例如为您的样式表输出不同的名称和脚本文件或使用插件。

问题:

  1. 如何使用外部配置文件配置 ESBuild?
  2. ESBuild 不支持开箱即用的 SCSS。如何配置像esbuild-sass-plugin这样的外部插件,更进一步,如何设置PostCSS及其像Autoprefixer这样的插件?
  3. 如何使用自动重建设置开发服务器?
  4. 如何设置 PurgeCSS?
0 投票
0 回答
60 浏览

https - esBuild 通过 HTTPS 服务

esBuild 使得通过它自己的开发服务器服务 http 请求变得非常容易,例如

在这种情况下如何启用 HTTPS 服务?我可以让它在端口 443 上服务,但是如何附加自签名证书?

0 投票
0 回答
20 浏览

javascript - 使用 ESBuild rails 6 全局设置 actioncable 和 sockjs-node

我和开发团队一直在将我们当前的设置从 webpack 迁移到 esbuild。我们有一些依赖于 actioncable 的咖啡脚本文件。自从删除 webpacker 依赖项/webpack-dev-server 后,Actioncable 已完全停止。有谁知道如何让 actioncable 在窗口级别运行,以便我们的咖啡脚本文件可以访问它?我们使用 sockjs-node 进行 webpack 设置,并且需要使用 esbuild 获得相同的结果。

包.json

esbuild.config.js

应用程序.js

从“actioncable”导入 actioncable

0 投票
0 回答
176 浏览

vue.js - Vite 生产构建错误:`...不是 node_modules 的构造函数

我正在尝试使用 Vite 为一个简单的基于 Vue 的项目进行构建,但在实际处理构建时遇到了错误。

我的vite.config.js文件:

build 命令vite build运行良好,没有警告,并在文件夹中编译这些文件dist

  • dist/index.html
  • dist/assets/index.83eff058.js
  • dist/assets/index.acd5fd56.css
  • dist/assets/vendor.96c4e7e1.js(问题文件)

在为我构建的项目提供服务时,我收到这个错误,导致整个事情崩溃并且除了 CSS 之外不加载任何东西:

我已经阅读了 Vite 和 Rollup 文档,真的不知道要寻找什么。这是因为缺少 Babel,还是其他原因?

0 投票
1 回答
211 浏览

ruby-on-rails - 无法在 Rails 7 中添加带有顺风的 ant 设计样式表

我使用rails new demo -j esbuild --css tailwind. 我正在antd为组件使用包,并希望将 ant 设计样式表与 tailwind 样式表一起使用。

Tailwind有一种方法可以将外部样式表添加到其默认样式中。我使用它并将application.tailwind.css文件设置为此:

现在,当我运行时./bin/devantd既没有应用样式,也没有在生成的app/assets/builds/application.css文件中存在这些样式类。

看起来顺风覆盖了蚂蚁的设计风格。

如果我保留application.tailwind.css并添加

到我的index.js根文件,然后才会antd应用样式并出现在生成的app/assets/builds/application.css. 但是随后删除了 tailwindcss 类。

我怎样才能在生成的同时拥有蚂蚁设计风格和顺风风格app/assets/builds/application.css

0 投票
1 回答
147 浏览

react-pdf - 你如何用 esbuild 填充 react-pdf?

如果您今天使用 esbuild 为浏览器捆绑 react-pdf,您将遇到提示您为 platform=node 构建的错误,因为 zlib 和流在浏览器环境中不可用。

我确实找到了一个关于如何在使用 vite 时交换它的对话,但我很好奇其他人是否为 esbuild 创建了一个 shim,它提供了等效的东西

我今天使用的版本:@react-pdf/renderer": "^2.0.21"

编辑

恰好为 esbuild 存在一个节点模块 polyfill,您应该能够将其配置为插件

https://github.com/remorses/esbuild-plugins#readme

npm i -D @esbuild-plugins/node-globals-polyfill

然后使用 esbuild 你可以像这样传递它

https://esbuild.github.io/plugins/#using-plugins

更多在我确认这是端到端工作之后

0 投票
0 回答
115 浏览

javascript - 带有edbuild的tailwindcss没有获取类并被覆盖

我想用 React、esbuild 和 tailwindcss 创建工作流。在 tailwind 文档中,他们说除了创建配置文件之外,我还需要将几个 @tailwind 指令放入 src/input.css 并使用以下命令运行编译:

所以我这样做了,结果看起来像是脚手架或 CSS 重置,内部没有实用程序类,而且我希望它与我的自定义 CSS 一起工作,这非常简单,因为在我学习 esbuild 时我做到了还没有使用预处理器,所以我采取了两种方法:

  1. 我已将 /src/input.css 添加到 esbuild.serve.js 中的 entryPoints 中,如下所示:

但即使这个重置也被我的其他样式表完全覆盖,我收到警告说:

所以我的第二个想法是将这些顺风指令包含到我的主 CSS 文件中,并像这样一起构建它:

但是,结果是在我的 out.css 中我有这些导入,但没有来自顺风的预期 CSS。从这里开始,我不知道该怎么办。这些是我的脚本:

任何帮助将不胜感激,谢谢。

0 投票
1 回答
66 浏览

javascript - esbuild 没有编译导入的模块

我正在尝试使用esbuild编译一个非常简单的打字稿代码。

但是esbuild只编译入口文件。

这是我的设置:

我跑:

编译完成没有错误,如果我现在检查dist我只得到

却一点痕迹都没有dist/mod1.js。所以当然代码无法运行并给出错误。

为什么esbuild不编译所有其他文件mod1.ts

我不能--bundle在我的项目中使用。

0 投票
1 回答
141 浏览

reactjs - 如何在纱线工作区的混音运行应用程序中使用本地模块

我有一个yarn workspace monorepo不同的包包含可重用代码的地方。像 @pkg/styles@pkg/ui-components

所有这些包都es modules (import export statements)在我的由 webpack 构建的非 ssr 应用程序中使用,就像这样。

例如

现在我需要添加remix-run到同一个 monorepo 并且一切正常,直到我开始导入这些本地包。我得到这个错误

如果我没记错的话,这是因为esbuild期望所有内容都node_modules被预编译。并在转译阶段简单地忽略它们。

我需要告诉我的编译器在编译时考虑我的本地包,这在我们使用时非常容易做到webpack。但我不确定如何在remix-run内部使用它和 esbuild。remix-run github 上几乎没有问题,但似乎没有任何帮助。