Nuxt ESBuild Module
raw JSON → 1.1.0 verified Fri May 01 auth: no javascript maintenance
A Nuxt module that integrates esbuild-loader to transpile JavaScript and TypeScript files, accelerating development builds. Stable version 1.1.0, released as a maintenance package with infrequent updates. It differs from ts-loader or babel-only setups by using esbuild for fast dev transpilation, then falling back to Babel for production builds to ensure broader browser compatibility. TypeScript users benefit from esbuild's speed without losing Babel's deeper transformations. The module is lightweight and mirrors Vite's approach to build performance.
Common errors
error Cannot find module 'esbuild-loader' ↓
cause esbuild-loader is not installed as a peer dependency
fix
Run npm install esbuild-loader --save-dev
Warnings
gotcha For non-TypeScript projects, esbuild is only used in dev mode; production still runs Babel. Do not add to modules if you expect esbuild in production. ↓
fix Use buildModules for JS-only projects; use modules only if you need TypeScript support and accept dual transpilation.
gotcha TypeScript users: final production bundle runs Babel after esbuild. This may cause slower builds than expected if Babel has heavy plugins. ↓
fix Consider adjusting Babel configuration or disabling some plugins in production if speed is critical.
Install
npm install nuxt-esbuild yarn add nuxt-esbuild pnpm add nuxt-esbuild Imports
- nuxt-esbuild wrong
modules: ['nuxt-esbuild']correctbuildModules: ['nuxt-esbuild'] - esbuild-loader wrong
const esbuildLoader = require('esbuild-loader')correctimport esbuildLoader from 'esbuild-loader'
Quickstart
// Install: npm i nuxt-esbuild --save
// nuxt.config.js
export default {
buildModules: [
'nuxt-esbuild'
],
esbuild: {
loader: 'ts',
tsconfig: './tsconfig.json'
}
}