외부 모듈이므로 호출 방법은 mysql 모듈과 동일하므로 다시 설명하지 않겠습니다.
ejs의 렌더링 함수에는 두 개의 매개변수가 있습니다. 첫 번째는 문자열이고 두 번째는 다른 JavaScript 템플릿과 마찬가지로 렌더링해야 하는 데이터도 옵션 개체에 포함됩니다.
ejs.render(str,option); // 渲染字符串 str 一般是通过nodejs文件系统的readfile方法读取 ejs.render(str,{ data : user_data // 需要渲染的数据 });
ejs 소스 코드를 살펴보면 ejs가 포함 파일의 경로를 처리할 때solveInclude 함수를 사용하는 것을 알 수 있습니다.
function resolveInclude(name, filename) { var path = join(dirname(filename), name); var ext = extname(name); if (!ext) path += '.ejs'; return path; }
dirname을 사용할 때 함수가 들어오는 경로 매개변수를 처리할 때 첫 번째
가 가로채어진다는 점에 유의해야 합니다.
'/' 앞 부분이 경로 이름으로 사용됩니다. 예:
path.dirname('/foo/bar/baz/asdf/quux') // returns '/foo/bar/baz/asdf'
path.dirname('/tpl/..') // return /tpl
ejs.render(str,{ filename : path + '/tpl/..', //tpl文件中保存的是模版文件 data: user_data });