根据pug-html-loader的自述文件,加载程序接受data
对象,该对象作为options
的一部分传递给模板。虽然options
中的 loader: 'pug-html-loader',
options: {
pretty: true,
exports: false,
debug: !env.production,
compileDebug: !env.production,
cache: config.build.useCaching,
doctype: 'html',
data: {
title: config.metadata.title,
baseUrl: config.build.baseUrl,
server: env.server,
metadata: config.metadata
}
}
无法使用,但我发现(pug API reference)的grunt插件以相同的方式使用API。
我已为加载程序指定了以下选项:
title= data.title
,我希望按以下方式访问
ERROR in Error: Child compilation failed:
Module build failed: TypeError: Cannot read property 'title' of undefined
但是,编译时我总是遇到以下错误:
-
console.log(' DATA! ' + data);
出于调试目的,我在模板中包含以下行:
DATA! undefined
结果是:
df = pd.DataFrame([['low', 0.5, 123, 0.8, 123],
['high', 0.7, 253, 0.9, 147]],
columns=['type', 'g1 v0', 'g1 v1', 'g2 v0', 'g2 v1'])
我还通过声明一些乱码而不是一个对象(例如一个字符串,普通的json,一个数字......)来确保数据正确传递给哈巴狗,然后pug编译器抱怨数据是不是有效格式等。
任何人都面临同样的问题?
答案 0 :(得分:2)
您应该直接引用数据(即不使用data
<)前缀字段
所以你应该改变你的代码:
{
loader: 'pug-html-loader',
options: {
data: {
title: 'Hello World'
}
}
}
然后从您的PUG模板中引用它
doctype html
html
head
title= hello