javascript - 在js文件中加载html文件

标签 javascript html angular jsdom

我的 C:\Users\project\text.html 中有这个 text.html 文件,我想将其加载到测试文件 .js 中。

我想在我的测试功能之一中加载 HTML 文件,这样我就可以测试 HTML 元素。当我将 html 内容放入测试文件中时,效果很好:

const jsdom = require("jsdom");
const { JSDOM } = jsdom;
...
 Then('...', function() {
     
 const dom = new JSDOM(`<!DOCTYPE html><div id="hey" class="modal-footer">Hello world</div>`);

});
但我不想要innerHTML,我想从JSDOM加载文件text.html,而不是在我的测试文件中写入html。有什么方法可以做类似 require text.html inide JSDOM 的事情吗?

最佳答案

JSDOM 提供了 fromFile允许从本地文件加载的实用程序函数。这将加载./foo.html

const { JSDOM } = require("jsdom");

JSDOM.fromFile("./foo.html").then(dom => {
  // ...
});

如果您需要从 URL 加载,还有 fromURL :

const { JSDOM } = require("jsdom");

JSDOM.fromURL("http://www.example.com/").then(dom => {
  // ...
});

关于javascript - 在js文件中加载html文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51040772/

相关文章:

javascript - 使用 jQuery 和 Bootstrap-Typeahead 创建自定义 Type-Head?

javascript - 使用 Angular2 根据选择框值显示或隐藏内容 div

javascript - 限制在输入文本框中使用下划线 ('_' )

javascript - 提交表单并使用 PreventDefault 的替代方案

javascript - 以编程方式删除 html 元素

html - 单个元素上的 CSS 多个动画,没有 javascript

angular - 测试 Angular snackbar

javascript - 从子组件导航时刷新父组件

javascript - 需要帮助将纹理背景设置为容器 div

javascript - 如果Javascript是单线程的,那么时钟如何工作?