Webpack:使用 googleapis 减小包大小

jos*_*osh 5 google-api node.js webpack

我正在用与 Webpack 捆绑的打字稿编写 NodeJS 代码。我正在使用“googleapis”,这是一个巨大的 NPM 包,但我只需要 gmail 和 OAuth 部分:

import { google } from "googleapis";
const oAuth2Client = await new google.auth.OAuth2(client_id, client_secret, redirect_uri);
google.gmail({ version: "v1", auth: oAuth2Client });
Run Code Online (Sandbox Code Playgroud)

webpack 块很大:

Bundling with Webpack...
Time: 23015ms
Asset        Size          
wait.js      10 MB         
wait.js.map  11.9 MB
Run Code Online (Sandbox Code Playgroud)

现在我怎样才能缩小捆绑包的大小?我试图在我的 webpack.config 中使用 externals:

externals: ["googleapis"]
Run Code Online (Sandbox Code Playgroud)

但当然这不包括整个 googleapis 包,因此该包将不再起作用。

有任何想法吗?

N.F*_*.F. 1

相反导入整个googleapis

\n
import { OAuth2Client } from 'google-auth-library';\nimport { gmail } from 'googleapis/build/src/apis/gmail';\n\nconst oAuth2Client = new OAuth2Client(client_id, client_secret, redirect_uri);\ngmail({ version: 'v1', auth: oAuth2Client });\n
Run Code Online (Sandbox Code Playgroud)\n

块大小如下。

\n
.vite/build/main.js  1,295.55 kB \xe2\x94\x82 gzip: 309.68 kB \xe2\x94\x82 map: 2,535.85 kB\n
Run Code Online (Sandbox Code Playgroud)\n