【发布时间】:2021-09-20 09:46:25
【问题描述】:
我有一个适用于 Angular 和 Node.js 的 npm 包。 最近,我开始在 Angular v12 项目中使用我的包。 我收到如下错误:
重大变化:webpack
我需要这些包(例如'path'),我无法切换到 Webpack 替代方案(例如'path-browserify'),因为我需要在 nodejs 上工作。
错误提示:
如果你想包含一个 polyfill,你需要: - 添加一个后备 'resolve.fallback: { "path": require.resolve("path-browserify") }' - 安装“路径浏览器”
安装“path-browserify”很容易。但是,该错误并未说明在何处添加回退。我在一些帖子中发现建议我需要将其添加到 Webpack.config.js。但是在Angular项目中,没有这样的文件;添加它没有任何效果。而且即使有这样的文件,也无济于事,因为我是一个 npm 包,我无法更改使用我的应用程序中的文件。
我可以为“路径”包编写一个解决方法。但是,其他软件包引发了该错误。一些包(例如,suppertest)并不适用于 webpack,我在 angular 上运行时没有使用它们,但由于它们在我的代码中,webpack 仍然会引发此错误。我还在使用其他使用有问题的软件包的软件包,例如“路径”或“流”,我无法更改它们。如何解决这个问题?
【问题讨论】:
-
你尝试过使用 Babel ????????
标签: node.js angular npm webpack polyfills