我面临一个经常在各个地方谈论的特定问题,稍后我将分享链接。该问题与 webpack 捆绑有关。我的 nodeJS 应用程序使用 @azure/storage-blob 库来获取数据,虽然它在未捆绑时工作得非常好,但是一旦我使用 webpack 捆绑应用程序,应用程序就会开始抛出以下错误:
堆栈跟踪:类型错误:在 eval (webpack://ECPNodeAPI/./node_modules /node-fetch/lib/index.mjs?:1416:19) at new Promise () at fetch (webpack://ECPNodeAPI/./node_modules/node-fetch/lib/index.mjs?:1414:9) at NodeFetchHttpClient2.eval (webpack://ECPNodeAPI/./node_modules/@azure/core-http/es/src/nodeFetchHttpClient.js?:69:74) 在步骤 (webpack://ECPNodeAPI/./node_modules/@azure/ core-http/node_modules/tslib/tslib.es6.js?:195:19) 在 Object.eval [as next] (webpack://ECPNodeAPI/./node_modules/@azure/core-http/node_modules/tslib/tslib .es6.js?:142:14) 在 eval (webpack://ECPNodeAPI/./node_modules/@azure/core-http/node_modules/tslib/tslib.es6.js?:128:67) 在 new Promise ()在 __awaiter (webpack://ECPNodeAPI/./node_modules/@azure/core-http/node_modules/tslib/tslib.es6.js?:110:10)
node-fetch 问题中提到了该问题:https ://github.com/node-fetch/node-fetch/issues/784 。虽然最新版本声称已修复此问题。但是@azure/storage-blob 使用的是旧版本的 node-fetch。
我尝试过但没有运气的解决方案。
- 使用纱线分辨率能够使用最新版本的 node-fetch 然后捆绑。试过不行。
- 通过将最小化设置为 false 并使用 terser 插件。我尝试了各种组合,但没有像这里这样的运气https://github.com/Azure/ms-rest-nodeauth/issues/83#issuecomment-690927491
还有其他人有任何其他解决方法吗?