我一直在滚动我所有的脚本和模板在一个大的.js文件,现在几个项目。我使用基于java的构建工具ant来连接和管理我的js的各种处理脚本。
将大型模板存储在javascript变量中的最大问题是javascript缺少多行字符串。我处理这个写有蟒蛇般的三引号语法我的文件:
var templateVariable = '''
<div>
<div></div>
</div>
'''
我然后运行这个自定义语法JavaScript文件虽然包含下面的python脚本,它把它在法律的javascript:
#!/usr/bin/env python
# encoding: utf-8
"""
untitled.py
Created by Morgan Packard on 2009-08-24.
Copyright (c) 2009 __MyCompanyName__. All rights reserved.
"""
import sys
import os
def main():
f = open(sys.argv[1], 'r')
contents = f.read()
f.close
split = contents.split("'''")
print "split length: " + str(len(split))
processed = ""
for i in range(0, len(split)):
chunk = split[i]
if i % 2 == 1:
processedChunk = ""
for i,line in enumerate(chunk.split("\n")):
if i != 0:
processedChunk = processedChunk + "+ "
processedChunk = processedChunk + "\"" + line.strip().replace("\"", "\\\"").replace('\'', '\\\'') + "\"" + "\n"
chunk = processedChunk
processed = processed + chunk
f = open(sys.argv[1], 'w')
f.write(processed)
f.close()
if __name__ == '__main__':
main()
以这种方式工作,我可以代码更多或更少的纯HTML模板,并将它们部署,与应用程序代码一起,一个单一的.js文件里面。
https://github.com/leshill/handlebars_assets –