Alt*_*nge 1 hmac rollupjs svelte
我认为 commonjs 插件可以让您使用较旧的模块,但我无法让 rollup 与https://www.npmjs.com/package/create-hmac一起使用。这是一个较旧的模块,据我所知我需要使用:
const createHmac = require("create-hmac");
我无法使用导入。有什么方法可以将其与汇总一起使用,还是我运气不好?我正在使用标准的 Svelte rollup 模板,并尝试使用namedExports、dynamicRequireTargets、不同的 Resolve 设置等。如果任何真正了解 rollup 的人可以帮助我,我将不胜感激!
你可以import实际使用,这就是@rollup/plugin-commonjs目的。它允许您import使用 导出模块require。
import createHmac from 'create-hmac'
Run Code Online (Sandbox Code Playgroud)
但这就是这个模块的全部作用。对你来说还不够。node_modulesRollup本身不会解决等问题。这不是标准的 ES 模块分辨率,而是 Node 特定的分辨率。因此,为此,您还需要@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(),
]
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1322 次 |
| 最近记录: |