我有一个template-main.js文件,该文件具有一个功能,可以根据三个输入创建要显示的网页。这就是它最初所说的:
<p>
<label>
{{ userform.iAgree }} {{ userform.iAgree.label }}
</label>
</p>
这个方法很有效,但是我想将html移动到一个单独的文件中,所以我创建了template-main.html并将其放入:
exports.build = function(title, pagetitle, content) {
return ['<!doctype html>',
'<html lang="en"><meta charset="utf-8"><title>{title}</title>',
'<link rel="stylesheet" href="/assets/style.css" />',
'<h1>{pagetitle}</h1>',
'<div id="content">{content}</div>']
.join('n')
.replace(/{title}/g, title)
.replace(/{pagetitle}/g, pagetitle)
.replace(/{content}/g, content);
};
之后我更改了template-main.js,以便它读取HTML文件的内容并将其保存为变量:
<!DOCTYPE html>
<html lang="en"><meta charset="utf-8">
<head>
<title>{title}</title>
<link rel="stylesheet" href="/assets/style.css" />
</head>
<body>
<h1>{pagetitle}</h1>
<div id="content">{content}</div>
</body>
</html>
我还不想修改标题占位符,所以我没有添加那些代码,但是当我启动项目时,我收到了这个错误:
var $ = require('jquery')(require("jsdom").jsdom().defaultView);
var template = $.ajax({
url : "template-main.html",
success : function(result){
alert(result);
}
});
exports.build = function(title, pagetitle, content) {
return template;
};
问题:¿如何更改template-main.js文件以使其有效?¿有没有办法仍然更改占位符中的文本?