webpack配置node system module

在我们的项目用,由于使用了ssr,所以有的文件会在服务器端(nodejs)和浏览器端执行。

这样的文件,在执行时虽然可以通过判断

if (typeof window === undefined) {
    //server side code
} else {
    //client side code
}

来执行,但是在引用一些只有在nodejs端才有的包,比如说node system module中的fs模块的话,webpack还是会报错。那我们如何来解决这个问题呢?

我们可以用webpack的config中externals来配置

代码如下

config.externals.push({
  'cacheman': 'cacheman',
  'cacheman-redis': 'cacheman-redis',
  'redis': 'redis',
});

这么配置之后,webpack在打包时就会打一个空白的包作为require的对象啦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值