如何使用Webpack 5对节点模块使用摇树?

问题描述

我想提高我的网站性能。我最近在灯塔上看到未使用的javascript错误

我检查了捆绑软件,显然那些未使用的javascript实际上正在从我下载的其他模块和节点软件包中使用。 例如,@sentry/node是我正在使用的,但是报告显示@sentry/hub中未使用的javascript。但是我只安装在@sentry/node上,而不安装在整个@sentry软件包上。此外,@sentry/node正在使用@sentry/hub,但是我没有在代码中的任何地方导入@sentry/hub(我认为这会导致问题)

我已将"sideEffects": false包含到我的package.json文件中,但似乎没有任何作用

解决方法

你可以尝试解构,只针对你正在使用的对象(或函数)。

例如

import { Component } from 'react';

因此,对于您...

import { yourFunction } from `@sentry/node`;

或者只是使用您正在使用的代码 @sentry/node。 ?‍♂️

否则,请显示您的代码:

  • package.json
  • webpack.config.js
  • 您的“索引”文件(您在其中导入脚本和其他文件)
  • 您导入 @sentry/node 的文件