CodeGenerator Class
代码生成器,根据ejs模板生成代码或代码文件。
Constructor
CodeGenerator
(
-
ejsTemplateFile
-
[encoding='utf8']
Parameters:
-
ejsTemplateFile
String模板文件
-
[encoding='utf8']
String optional文件编码
Example:
var CodeGenerator = require('code_generator');
var ejsOptions = {
user: {
name: 'happy framework'
}
};
var generator = new CodeGenerator('./templates/hello.ejs');
var content = generator.generateToString(ejsOptions);
console.log(content);
generator.generateToTargetFile(ejsOptions);
CodeGenerator.executeTemplateDirectory('./templates', ejsOptions);
Item Index
Properties
Methods
executeTemplateDirectory
(
static
-
ejsTemplateDirectory
-
ejsOptions
-
[encoding='utf8']
递归执行指定目录下的所有模板文件。
Parameters:
-
ejsTemplateDirectory
String模板目录
-
ejsOptions
Object执行模板的上下文对象
-
[encoding='utf8']
String optional文件编码
Returns:
Example:
CodeGenerator.executeTemplateDirectory('./templates', ejsOptions);
generateToString
(
-
ejsOptions
生成为字符串。
Parameters:
-
ejsOptions
Object执行模板的上下文对象
Returns:
Example:
var content = generator.generateToString(ejsOptions);
console.log(content);
generateToTargetFile
(
-
ejsOptions
-
[targetFile]
-
[cover=true]
生成为目标文件。
Parameters:
-
ejsOptions
Object执行模板的上下文对象
-
[targetFile]
String optional如果该参数为空,模板中必须包含如下代码:<% _out.targetFile = './outputs/hello.generator.html'; %>
-
[cover=true]
Boolean optional如果目标文件已经存在,true 为覆盖,false为不覆盖。
Returns:
Example:
generator.generateToTargetFile(ejsOptions);
setDefautEjsOptions
(
-
defautEjsOptions
使模板的每次执行,都能访问到 defautEjsOptions 中的属性。
Parameters:
-
defautEjsOptions
Object
Returns:
Properties
defautEjsOptions
Object
private
ejsTemplateFile
String
private
encoding
String
private
Default: 'utf8'