Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

vite-plugin/vite-plugin-esmodule

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

56 Commits

Repository files navigation

vite-plugin-esmodule

Build ES module to CommonJs module for Node.js/Electron

NPM version NPM Downloads

Why 🤔

When using ES modules(e.g.node-fetch) in Node.js/Electron projects, we may need to compile them into CommonJs modules to ensure they work correctly.

在 Node.js/Electron 项目中使用 ES 模块时(e.g. node-fetch),我们可能需要将其编译成 CommonJs 模块,以确保它们能够正常工作

Install

npm i -D vite-plugin-esmodule webpack

Usage

vite.config.js

import esmodule from 'vite-plugin-esmodule'
export default {
 plugins: [
 // Take `execa`, `node-fetch` and `file-type` as examples
 esmodule([
 'execa',
 'node-fetch',
 // 🌱 this means that you have explicit specified the entry file
 { 'file-type': 'file-type/index.js' },
 ]),
 ],
}

execa.js

import {execa} from 'execa';
const {stdout} = await execa('echo', ['unicorns']);
console.log(stdout);
//=> 'unicorns'

API (Define)

esmodule(modules[, webpack])

import type { Configuration } from 'webpack'
type ModuleRecord = string | { [module: string]: string }
function esmodule(
 modules: ModuleRecord[] | ((esmPkgs: string[]) => ModuleRecord[]),
 webpack?: ((config: Configuration) => Configuration | void | Promise<Configuration | void>),
): import('vite').Plugin

How to work

This plugin just wraps vite-plugin-optimizer

About

Build ES module to CommonJs module for Node.js/Electron

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

AltStyle によって変換されたページ (->オリジナル) /