【发布时间】:2019-09-16 12:03:08
【问题描述】:
常规设置
我正在使用 webpack 和 pug 基于这个很棒的样板构建一个小型网站: https://github.com/alexnoz/webpack-pug-scss-boilerplate.git
项目已启动并正在运行,我能够正确渲染 pug 文件。
要求
现在我需要在所有 webpack 编译发生之前加载一些数据。我想按照this answered question 中的说明将该数据传递给 pug-html-loader。
问题/疑问
我的问题是,我必须异步加载该数据。所以我所拥有的是一个Promise。如何确保承诺在 webpack 编译发生之前完成?
这是我目前行不通的方法
// in webpack.config.js
var myData = []
loadSomeDataAsync().then(loadedData => myData = loadedData)
{
loader: 'pug-html-loader',
options: {
data: myData // <====
}
}
pug-html-loader 接受options.data 如果我将静态数据放在那里,那么这些数据在 pug 模板中可用。
我知道我的问题似乎是,在 webpack 编译发生之前,我的 Promise 尚未解决。但是如何让 webpack 以某种方式“等待” Promise 解决呢?
我已经尝试注册 webpack 事件挂钩。但没有成功。还有什么建议吗?
【问题讨论】:
标签: javascript node.js webpack pug-loader