在 Angular 10 中使用 ICE

Using ICE in Angular 10

我正在尝试在我的 Angular 10 应用程序中使用 zeroC ICE。 刚刚创建了一个简单的 helloworld Angular 应用程序并使用“npm install ice”安装了 ice 然后我调用“Ice.initialise()”但我收到以下错误:

ModuleRegistry.js:25 Uncaught TypeError: m.require is not a function
    at ModuleRegistry.js:25
    at Array.forEach (<anonymous>)
    at Function.require (ModuleRegistry.js:23)
    at Object.<anonymous> (Ice.js:7)
    at Object../node_modules/ice/src/Ice/Ice.js (Ice.js:45)
    at __webpack_require__ (bootstrap:79)
    at Object../node_modules/ice/src/index.js (index.js:5)
    at __webpack_require__ (bootstrap:79)
    at Module../src/app/app.component.ts (main.js:109)
    at __webpack_require__ (bootstrap:79)

我在 ICE 上发布了同样的问题 git。

基本上你需要:

  • 更新项目以包含 Ice 库的浏览器版本。
  • 更新构建以使用自定义 webpack 配置,这需要 @angular-builders/custom-webpack.
  • 在自定义 webpack 配置中将 ice 设置为外部模块,这样导入就不会导致构建节点版本。

这里是详细的解决方案:

https://github.com/zeroc-ice/ice/issues/1039