vite-plugin-esmodule
Build ES module to CommonJs module for Node.js/Electron
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 vite-plugin-electron-renderer -D
Usage
vite.config.js
import esmodule from 'vite-plugin-esmodule'
export default {
plugins: [
esmodule([
'execa',
'node-fetch',
{ 'file-type': 'file-type/index.js' },
]),
],
}
execa.js
import {execa} from 'execa';
const {stdout} = await execa('echo', ['unicorns']);
console.log(stdout);
👉 See test
API
esmodule(modules[,options])
type modules = (string | { [module: string]: string })[]
type options = {
webpack?:
| Configuration
| ((config: Configuration) => Configuration | void | Promise<Configuration | void>);
}
How to work
This plugin just wraps vite-plugin-optimizer