我处于最有趣的位置,我想在服务器端模拟我的JavaScript文件,以包含和删除基于对象的某些部分。给定一个像这样的对象:
var obj = {
"includeA": true,
"includeB": false,
"includeC": true
}
我希望能够包含/排除所述JS文件的某些部分。例如:
if (obj.includeA) {
// This is some code from A
}
if (obj.includeB) {
// This is some code from B
}
会生成字符串或文件,如下所示:
// This is some code from A
我已经研究了一些基本选项,我想到的最重要的一个想法是简单地在JS中使用if
语句。然而,这段代码看起来相当糟糕,考虑到最多有1000行,根本不适合:
var string = ""
if (obj.includeA) {
string += "This is one line \n"
string += "This is another line \n"
}
// etc.
这会产生正确的输出,但string +=
的重复性让我厌恶它。然后我决定把它打包成一个函数:
var string = ""
function call(line) {
string += line + "\n"
if (obj.includeA) {
call("This is one line")
call"This is another line)
}
// etc.
但这似乎只是略微好一点。是否有任何类型的模板引擎(想象类似于Jade的东西),它允许模仿像这样的文本块?