Вы можете использовать import
на самом деле, для этого @rollup/plugin-commonjs
. Это позволяет вам import
модулей, которые экспортируются с использованием require
.
import createHmac from 'create-hmac'
Но это все, что делает этот модуль. Не достаточно для вас. Свертывание не разрешит node_modules
et c. само собой. Это не стандартное разрешение модуля ES, это Node Specified c разрешение. Итак, для этого вам также нужно @rollup/plugin-node-resolve
.
Все еще недостаточно. Я попробовал пакет create-hmac
. Для этого требуются вещи, которые присутствуют в среде Node, но отсутствуют в браузере (такие как потоки ...). Насколько я знаю, Webpack автоматически заполняет это, но не Rollup. Таким образом, вам также нужен плагин для этого. Я пытался rollup-plugin-node-builtins
. Кажется, работает.
Итак, в итоге ваша конфигурация Rollup должна выглядеть примерно так:
import resolve from '@rollup/plugin-node-resolve'
import commonjs from '@rollup/plugin-commonjs'
import builtins from 'rollup-plugin-node-builtins'
export default {
// ...
plugins: [
// polyfills Node builtins in the browser
builtins(),
// Node resolution mechanism (node_modules)
resolve({
// this tells to use the 'browser' field of the packages you install
// when they provide it (the package you've linked does)
browser: true,
}),
// to allow import of module using require
commonjs(),
]
}