полимерная подача против статического веб-сервера - PullRequest
0 голосов
/ 03 января 2019

Что за магия polymer-serve делает то, что я не получаю с помощью простого статического веб-сервера?

Я только начал с простого проекта "Привет, мир".Когда я запускаю polymer serve, я могу перейти на страницу http://localhost:8000/example.html, и она отлично работает.Если я использую static-server и перехожу на ту же страницу, я получаю сообщение об ошибке в Chrome.

Uncaught TypeError: Не удалось разрешить спецификатор модуля "@ polymer / lit-элемент".Относительные ссылки должны начинаться с "/", "./" или "../".

Вот пример .html, который был скопирован прямо из README .

<script src="node_modules/@webcomponents/webcomponentsjs/webcomponents-bundle.js"></script>
<script type="module">
  import { LitElement, html } from "@polymer/lit-element";

  class MyElement extends LitElement {
    static get properties() {
      return {
        mood: { type: String }
      };
    }

    constructor() {
      super();
      this.mood = "happy";
    }

    render() {
      return html`
        <style>
          .mood {
            color: green;
          }
        </style>
        Web Components are <span class="mood">${this.mood}</span>!
      `;
    }
  }

  customElements.define("my-element", MyElement);
</script>

<my-element mood="happy"></my-element>

1 Ответ

0 голосов
/ 03 января 2019

Модули импортируются по имени, а не по пути

проверьте, например, эту ссылку

Из нее

Это изменение приносит Polymerв соответствии со стандартной практикой npm, и облегчает интеграцию Polymer с другими инструментами и проектами.Тем не менее, , поскольку браузеры еще не поддерживают импорт модулей по имени , это означает, что вам потребуется шаг трансформации, чтобы изначально запускать модули Polymer в браузере.Интерфейс Polymer CLI и связанные с ним инструменты обновляются для автоматического преобразования.

работает сборка полимера должна создавать преобразованные файлы (на которые указывает путь)

...