ejs 从文件加载模板

ejs load template from a file

我刚找到这个叫做ejs 的库,我想使用它。根据文档中的示例,我正在执行以下操作:

var Ejs = require('ejs')

var loadTemplate = function () {
  var users = ['geddy', 'neil', 'alex'];
  var html = Ejs.render('<%= users.join(" | "); %>', {users: users});
};

工作正常,但我想做的是从文件加载模板.. 像这样:

var template = Ejs.render('url:/template.ejs', {users: users});

我找不到这个简单案例的任何示例,知道我该怎么做吗?无需使用 fs.

tests看来,renderFile 函数似乎就是您想要的。我很惊讶它不在文档中!

  var ejs = require('ejs')

  it('should accept locals', function(done){
    var options = { name: 'tj', open: '{', close: '}' };
    ejs.renderFile('test/fixtures/user.ejs', options, function(err, html){
      if (err) return done(err);
      html.should.equal('<h1>tj</h1>');
      done();
    });
  })