Как определить глобальные модули в Vite.js?

В Webpack есть плагин webpack.ProvidePlugin, который позволяет определить глобальные модули, такие как, например, jQuery, React, Buffer и другие, чтобы их потом можно было использовать в любом файле без необходимости вручную импортировать.

webpack.config.js:

const { ProvidePlugin } = require("webpack")

module.exports = {
  plugins: [
    new ProvidePlugin({
      React: "react",
      process: "process/browser",
      Buffer: ["buffer/", "Buffer"] // import { Buffer } from "buffer/"
    })
  ]
}

В любом компоненте:

// Нет необходимости, т. к. React доступен глобально
// import React from "react"

function App() {
  return <h1>App</h1>
}

export default App

В общем, думаю, понятно, зачем это нужно.

Я использую библиотеку, которая использует Buffer и process. Т. к. я работаю в вебе, доступа к этим переменным глобально нет, однако это можно сделать вручную, например так:

import { Buffer } from "buffer/" // npm-пакет, а не Buffer от NodeJS

window.Buffer = Buffer

Однако проще было бы определить эти переменные в vite.config.js. Собственно вопрос: как это сделать?


Ответы (0 шт):