Сейчас я свернул все свои скрипты и шаблоны в один большой файл .js для нескольких проектов.Я использую основанный на Java инструмент сборки ant для объединения и управления различными сценариями обработки для моего js.
Самая большая проблема с хранением больших шаблонов в переменных javascript - отсутствие многострочных строк в javascript.Я справляюсь с этим, записывая свои файлы с синтаксисом тройных кавычек, похожим на python:
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.