Как прочитать текстовый файл, содержащий HTML без использования файла ввода типа в JavaScript? - PullRequest
0 голосов
/ 15 мая 2019

У меня есть текстовый файл в папке assets , который содержит HTML-код, который будет отображаться в div для определенного компонента.

Есть ли способ прочитать этот файл и присвоить содержимое строковой переменной, не взаимодействуя с представлением пользователя (с типом входного файла) в ngOnInit.

Мои выводы Если я добавлю html-содержимое в объект json, нам придется удалить из него все разрывы строк. Это означает, что это будет строка без разрывов строк, подобных этой.

{
  "html": "<h1 class=\"user\">Name</h1><p>Ahsan</p>"
}

Это имеет ограничение для дизайнеров, они будут конвертировать html в многострочную строку, а мы также будем удалять escape-последовательности.

Как этого можно добиться с помощью текстовых файлов.

Причины для этого

Я хочу сделать это, потому что я хочу избежать перестройки и публикации всего моего углового приложения для некоторых изменений содержимого. Даже для некоторых изменений контента мне нужно пересобрать и переиздать приложение.

Ответы [ 2 ]

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

Вопрос довольно расплывчатый, поэтому я просто перечислю несколько вариантов для рассмотрения:

1) Во-первых, если это страница браузера, вы можете открыть страницу html на сервере и запросить ее уклиент.

2) Кроме того, вы можете выполнить шаг сборки, который заменит некоторое значение переменной содержимым HTML-файла.Это позволит избежать HTTP-запроса решения (1).

3) С другой стороны, если это приложение узла (или электронное), в дополнение к решению (2) вы можете использовать узел fs для доступа к файлу HTML.

4) Наконец, возможно, самое простое, но наименее продаваемое решение, поместите HTML в объект JS.В отличие от JSON, объекты JS могут поддерживать новые строки;например,

let x = {
    str: `line 1
          line 2`
};

Хотя даже если вы хотите использовать файл JSON, вы можете включить в строки экранированные новые залоговые права \n.

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

Пример того, что вы делаете, или некоторый существующий код, может помочь, но, если я правильно понимаю ваш вопрос, вы можете заключить html в одинарные кавычки, и он будет просто читаться как строка ( даже если он содержит двойные кавычки). Например:

Если ваш html читается так:

> <button onclick="describeRob()">Tell Me about Bob!</button>
> 
> <script> function describeRob() {
>     document.getElementById("myHeader").innerHTML = "Bob constantly shows up late and doesn't understand basic programming."; } </script>

Вы можете просто прочитать это как строку, которая позже может быть добавлена ​​в html div через javascript следующим образом:

> String inputFromFile = ' <button onclick="describeRob()">Tell Me about Bob!</button>
> 
> <script> function describeRob() {
>     document.getElementById("myHeader").innerHTML = "Bob constantly shows up late and doesn't understand basic programming."; } </script> ';

Затем вы можете присвоить эту строку любому div, который вы хотите, и он будет отображаться как истинный HTML

Если вы хотите добавить разрыв строки, просто вставьте один вручную в html:

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