Импорт веб-компонента (экспортируется как модуль es6) в Angular - PullRequest
1 голос
/ 08 марта 2019

У меня есть библиотека, которая экспортирует набор веб-компонентов.Пакет создается с использованием накопительного пакета и все операции экспорта выполняются, например ::
export { Input, Button };, где Input и Button - классы es6, определенные ранее в пакете.
Я опубликовал его как пакет npm длячастное репозиторий npm, и теперь я пытаюсь импортировать его в другое угловое приложение
import { Input, Button } from '../../node_modules/@company/web-components';
Я также пытался импортировать их как import '../../node_modules/@company/web-components';
Но веб-пакет, похоже, не поддерживает связь с импортом, поскольку он этого не делаетпосмотри где это используется.Интересно, однако, что когда библиотека экспортируется как iife, веб-пакет не трясет ее.

Есть ли способ указать веб-пакету angular включить определенный импорт, независимо от того, указан он в коде или нет?

1 Ответ

1 голос
/ 09 марта 2019

Видимо, есть способ включить модуль es6 из node_modules, добавив следующую строку в angular.json:

{
  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
  "projects": {
    "project-name": {
      "architect": {
        "build": {
          "options": {
            "assets": [
              {
                "glob": "release.js",
                "input": "./node_modules/@company/web-components/dist/",
                "output": "."
              }
            ],

И затем мы можем включить его в index.html с типичным импортом модуля:

<script type="module" src="release.js"></script>
...