javascript - 单独编译 Angular 组件并在 HTML 页面中一起使用它们

标签 javascript html angular typescript angular-cli

我按以下方式创建了 2 个不同的 Angular 项目:

$ ng new comp-a
$ ng new comp-b

然后,我修改了它们中的每一个,使其看起来不同,并且我对它们中的每一个都运行了以下命令,以使用必要的 Javascript 构建相应的 HTML 文件>CSS 文件:

$ ng build --base-href "./"

我注意到在每个项目生成的每个 index.html 文件中都引用了以下 Javascript 文件:

- runtime.js
- polyfills.js
- styles.js
- vendor.js
- main.js

我想做什么:

创建一个引用公共(public)文件并将非公共(public)文件重命名为组件名称的公共(public) HTML 文件,如下所示:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="utf-8">
    <title>Testing Angular Components</title>
    <base href="./">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="icon" type="image/x-icon" href="favicon.ico">
</head>

<body>

    <comp-a></comp-a>
    <comp-b></comp-b>

    <script type="text/javascript" src="runtime.js"></script>
    <script type="text/javascript" src="polyfills.js"></script>
    <script type="text/javascript" src="styles.js"></script>
    <script type="text/javascript" src="vendor.js"></script>
    <script type="text/javascript" src="comp-a.js"></script>
    <script type="text/javascript" src="comp-b.js"></script>

</body>

</html>

我的目标要求:

  • 我需要为每个组件生成一个 Javascript 文件。
  • 我需要在 Angular 项目中使用它们,就像在上面示例中的普通 HTML 页面中一样。当然,我可以像上面的示例一样添加其他常见的 Javascript 文件。

这可能吗?

我试过了,没用。也许,如果可能的话,我没有以正确的方式。我不得不说我对 Angular 没有太多经验。

谢谢!

最佳答案

您需要在单个 Angular 应用程序中使用两个 Angular 组件。

为了演示,让我们创建一个新的 Angular 应用程序:

ng new my-app

转到 Angular 应用程序文件夹:

cd my-app

注意刚刚创建的 index.html 文件。您上面提到的通用 HTML 可以驻留在这个 index.html 文件中。只保留 <app-root></app-root>标签和其他所有内容都可以根据需要进行替换。

然后,创建两个 Angular 组件:

ng generate component comp1
ng generate component comp2

在 app.component.html 文件中进行编辑,以便此 Bootstrap 组件包装这两个最近创建的 Angular 组件:

应用程序组件.html:

<app-comp1></app-comp1>
<app-comp2></app-comp2>

测试您的 Angular 应用程序:

ng serve --open

你应该看到这样的东西:

comp1 works! comp2 works!

关于javascript - 单独编译 Angular 组件并在 HTML 页面中一起使用它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50310835/

相关文章:

css - PrimeNG 日历 - 覆盖默认样式

javascript - 永远不会调用 Observable.forkJoin 的订阅

javascript - 通过输入字段中的天数更新日期选择器日期?

html - 所有 child 的 CSS 非选择器

javascript - 如何将多个变量传递给 HTML/PHP 中的 JavaScript 函数?

html - 如何在芯片之间添加填充并更改关闭按钮的背景颜色

javascript - 如何防止 Unicode 字符从 JavaScript 呈现为 HTML 中的表情符号?

javascript - 嵌套 ng-repeat 中来自 Controller 的 AngularJS 访问元素

html - 输入元素的宽度行为很神秘

javascript - Angular 2 组件 DOM 在 OnInit 方法中被解析之前绑定(bind)到组件中的属性