我正在汇编中生成一个静态站点。通常,正在处理的特定文件中存在错误,例如忘记关闭车把模板中的块。
目前,无论是什么原因导致错误,都很难找到导致错误的文件的实际路径。例如,在车把解析错误期间,我只得到const objOne = {"_links":{"self":[{"href":"http://val1"},{"href":"http://val2"},{"href":"http://val3"},{"href":"http://val4"},{"href":"http://val5"}]}};
const objTwo = {"_embedded":{"accountList":[{"accountNumber":"1234","link":{"href":"http://val3/newAccount"}}]}};
objTwo._embedded.accountList.forEach(longLink => {
objOne._links.self.map(l => l.href).forEach(shortLink => {
if (longLink.link.href.indexOf(shortLink) != -1)
console.log('Found match!', longLink);
});
});
-没有提及路径。
我觉得这可能是由于我不了解在组装自身中执行此操作的正确过程而引起的。
我的assemblefile.js的相关位:
Error: Parse error on line 53
自从我开始使用const assemble = require('assemble');
const app = assemble();
const extname = require('gulp-extname');
const log = require('fancy-log');
app.on('error', function(err) {
log.error("Error: ", err);
this.emit('end');
});
app.task('content:pages', function() {
return app.src('source/*.hbs')
.pipe(debug({title: 'content:pages:'}))
.pipe(app.renderFile())
.pipe(extname())
.pipe(app.dest('site'))
});
以来,我可以获得任务中正在处理的文件的列表,但是如果有很多文件,那么很难不知道是哪个文件引起了错误,每个文件,一个接一个。
我还尝试过使用类似的东西:
gulp-debug
如果碰巧是类型为.pipe(app.renderFile())
.on('error', console.log)
的错误,那么我可以从PluginError
获取信息,但是我遇到的大多数错误只是常规的err.helper.context.path
仅包含Error
和err.message
的类型-通常都没有提到导致错误的文件路径。
任何帮助将不胜感激。