您正在使用jade.compile()
, 正确的?正如错误消息所述,您没有传递filename
选项。由于您只给出一个要编译为 Jade 的字符串,因此它不知道在哪里查找包含的文件。
脚本和 jade 文件位于同一文件夹中的示例。这index.jade
文件包含另一个文件使用include foo
:
var jade = require('jade'),
fs = require('fs'),
path = require('path');
var fn = jade.compile(fs.readFileSync('index.jade', 'utf-8'), {
filename: path.join(__dirname, 'index.jade'),
pretty: true
});
console.log(fn());
或者使用 Jade 中相对于给定的绝对路径basedir
您将执行以下操作。这index.jade
文件现在包含相同的文件,但使用绝对路径,即。include /foo
:
var jade = require('jade'),
fs = require('fs');
var fn = jade.compile(fs.readFileSync('index.jade', 'utf-8'), {
basedir: __dirname,
pretty: true
});
console.log(fn());
对于所有选项,请参阅API docs http://jade-lang.com/api/.