javascript - 如何在不使用 JavaScript 中的输入类型文件的情况下读取包含 html 的文本文件?
问题描述
我在资产文件夹中有一个文本文件,其中包含一些要在特定组件的 div 中呈现的 html。
有没有一种方法可以读取该文件并将内容分配给字符串变量,而无需用户与 ngOnInit 中的视图(具有输入文件类型)进行交互。
我的发现 如果我将 html 内容放在 json 对象中,我们将不得不从中删除所有换行符。这意味着它将是一个没有像这样的换行符的字符串。
{
"html": "<h1 class=\"user\">Name</h1><p>Ahsan</p>"
}
这对设计人员有限制,他们会将 html 转换为多行字符串,我们还将删除转义序列。
如何通过文本文件实现这一点。
这样做的理由
我想这样做是因为,我想避免为某些内容更改而重建和发布整个 Angular 应用程序。即使对于某些内容更改,我也必须重新构建并重新发布应用程序。
解决方案
问题很模糊,所以我只列出一些可供研究的选项:
1)首先,如果这是一个浏览器页面,您可以在服务器上提供html页面并从客户端请求它。
2) 或者,您可以有一个构建步骤,用 HTML 文件的内容替换一些变量值。这样就避免了方案(1)的HTTP请求。
3)另一方面,如果这是一个节点(或电子)应用程序,除了解决方案(2),您还可以使用节点fs
访问HTML文件。
4) 最后,也许是最简单但最不实用的解决方案,将 HTML 放入 JS 对象中。与 JSON 不同,JS 对象可以支持换行;例如
let x = {
str: `line 1
line 2`
};
尽管即使您想使用 JSON 文件,您也可以\n
在字符串中包含转义的新留置权。
推荐阅读
- salesforce - 使用 JSforce 在 Cypress 测试之间清理 Salesforce 中的后端数据
- c# - IdentityServer4 声明不是混合流令牌的一部分
- sql - 如何在 oracle pl/sql 中拆分带有特殊字符的字符串
- javascript - 如果在Angular中没有输入包括空格字符在内的输入,如何禁用按钮
- python - py2neo - 由于身份验证失败,客户端未经授权
- c# - ASP.NET Core 2.2 中的 AJAX POST 请求未将数据传递给控制器方法
- javascript - 在 flickity 中,如何在没有左键或选项卡的情况下使用箭头键?
- scala - 如何计算给定数据的 5 天平均值、10 天平均值和 15 天平均值?
- javascript - Slick 滑块中的两位数字而不是点
- mysql - MySQL where 和/或不返回正确的记录