Как включить дополнительные файлы CSS в Aurelia? - PullRequest
1 голос
/ 23 мая 2019

У меня есть приложение, которое открывает новое окно с контентом.Мне нужен специальный CSS для этого окна.

Код для открытия окна таков:

var Printwindow = window.open("","","width=360,height=188");
    var cssFile = Printwindow.document.createElement("link");
    cssFile.rel = "stylesheet";
    cssFile.type = "text/css";
    cssFile.href = "../../content/label.css";

    Printwindow.document.write("<head>" + cssFile.outerHTML + "</head><body onload='window.print();'>" + this.label.innerHTML + "</body>");
    Printwindow.document.close();
    Printwindow.focus();

label.css есть, когда я просто запускаю его в localhost.Но когда я собираю его и отправляю на сервер, он отсутствует.Как я могу включить этот label.css в комплект, чтобы он мог его найти?

Ответы [ 2 ]

1 голос
/ 23 мая 2019

Если вы используете веб-пакет, вам следует обратиться к файлу, чтобы веб-пакет нашел его:

cssFile.href = PLATFORM.moduleName("../../content/label.css");

и выполнить импорт ПЛАТФОРМЫ:

import {PLATFORM} from 'aurelia-pal';

Надеюсь, это поможет.

0 голосов
/ 31 мая 2019

Лично я бы порекомендовал вам создать компонент и создать его в диалоговом окне или новом окне. Это позволит вам избежать создания уровня представления в JS. Если вы создали пользовательский компонент, вы можете сделать следующее:

<template>
 <require from="label.css"></require>
 {Content Here}
</template>

Затем вы можете составить это в диалоговом окне.

В качестве альтернативы, если вы не можете внести структурные изменения, вам следует импортировать PLATFORM из aurelia-pal и использовать ее следующим образом:

import {PLATFORM} from 'aurelia-pal';
// .. other code here ..
cssFile.href = PLATFORM.moduleName("../../content/label.css");

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...