Rollup 在打包后,在浏览器运行时报错: ReferenceError: process is not defined
通过字面意思可以得知 process 变量是在 node 环境中的变量,浏览器肯定不行,我们可以通过在加载代码之前添加一段 hack 脚本
<script>
var process = {
env: {
NODE_ENV: 'production'
}
};
</script>
<script src="你的库的src"></script>
但是这样很不优雅,如果别人使用你的库直接报错肯定也不行。
同样可以在 rollup 配置文件中通过 @rollup/plugin-replace 插件去处理
rollup.config.js
import replace from '@rollup/plugin-replace';
export default {
// ...
plugins: [
// ...
replace({
'process.env.NODE_ENV': JSON.stringify('production')
})
]
};