1

我正在使用此命令生成 angular 10 项目:

npx create-single-spa --moduleType app-parcel

但是我注意到在生成 angular 10 项目后,app.component.ts 没有被使用。

export class AppComponent {
  public title = 'singleangular';
  constructor() {
      console.log('testing');
  }
}

console.log 命令永远不会被执行。这怎么可能发生?如果我使用 ng new 命令,这肯定会被执行。如果这是预期的,请告知。然后如何在单个水疗中心使用 angular 10?谢谢

这是默认组件:

import { Component } from '@angular/core';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.scss'],
})
export class AppComponent {
  public title = 'singleangular';
  constructor() {
      console.log('testing');
  }
}

添加到 entryComponents 是没用的,我想如果有人使用 npx create-single-spa 命令生成 ng 项目可以立即看到这个问题。

不知道这里有什么问题

似乎使用 npx create-single-spa 创建的 angular 项目只能在 single-spa 中加载,不能单独加载

我想知道我们是否可以在不使用 single-spa 的情况下单独启动和调试创建的 angular 项目,然后一旦完成,部署并让 single-spa 使用它

4

2 回答 2

2

您可以单独运行该应用程序,而无需使用 single-spa 运行它。

  1. 在 angular.json 中替换“main.single-spa.ts”。与'main.ts'。
  2. 确保安装了节点模块,因为即使我运行了问题中列出的 npx 命令以使其正常工作,我也必须运行 npm i
  3. 如果您收到打字稿错误,请转到 tsconfig.app.json 并将“main.single-spa.ts”更改为“main.ts”
  4. 如果你得到 ng zone 错误然后在 main.ts import 'zone.js/dist/zone' 的最顶部导入它;

在单一水疗中心和个人或非单一水疗中心运行它时,我在构造函数中获得控制台输出。

最初设置为加载 main.single-spa.ts 文件,该文件引导 single-spa 以将其用作要挂载的 main.js 文件。

您可以在这些之间切换。

请注意:当我创建测试 angular single-spa 应用程序时,我使用了路由,并且必须在提供程序中输入 APP_BASE_HREF 才能让应用程序显示在 single-spa 游乐场页面中。

此外,您应该经常测试与 single-spa 一起运行的应用程序,以便您可以验证它是否正常工作,因为 single-spa 会以不同的方式处理事情。

于 2020-11-16T05:00:39.097 回答
0

取决于你在哪里添加你的组件。

有两种方法可以使其正常工作

添加到路由模块或应用模块内的入口组件

于 2020-11-15T08:22:38.300 回答