Как определить глобальные модули в 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. Собственно вопрос: как это сделать?