尝试使用括号表示法时,我似乎在从 mixin 访问值时遇到问题。我有以下设置:
// in webpack plugins
new HtmlWebpackPlugin({
hash: true,
template: './assets/template/about.pug',
filename: 'about-us.html',
inject: true,
page: 'about',
locals: require('./assets/data.json'),
chunks: ['about']
}),
json
// data.json (snippet)
{
"pages" : {
"about" : {"title" : "About Us","metaDesc" : ""},
}
}
哈巴狗混音
mixin pageTitle(thePage)
title= htmlWebpackPlugin.options.locals.pages[thePage].title
使用哈巴狗混合
+pageTitle(htmlWebpackPlugin.options.page)
我收到一个错误Cannot read property 'title' of undefined.
如果我将其更改为htmlWebpackPlugin.options.locals.pages.about.title
它将解析得很好。
如果我将其更改为htmlWebpackPlugin.options.locals.pages[thePage]
它将返回[object Object]
,但我无法访问任何属性。
如果我将其更改为htmlWebpackPlugin.options.page
或仅使用thePage
,则将呈现“关于”。
我做了一个 typeof 来检查它是否是一个字符串。这是。我试过先把它放到一个变量中。同样的问题。
有什么想法吗?