首页 > 解决方案 > Webpack - 请求数据库并替换捆绑包中的字符串

问题描述

我目前使用 Webpack 4,我想用特定模式替换字符串以从数据库中获取字符串。

例如 GET 从数据库返回:

[{ key: 'test', value: TEST2 }]

所以如果 webpack 找到任何字符串 'test' - 它将替换为 TEST2。

我需要:

  1. 构建包
  2. 通过 npm 插件连接数据库
  3. 将数据作为具有键和值的数组获取
  4. 将包中的所有键替换为值

你知道我该怎么做吗?我不知道它将如何与异步请求和 webpack 构建一起工作。什么插件会是最好的?

编辑: 我使用 npm 库通过承诺处理与数据库的连接。所以首先我创建了 Promise,在成功响应后用 config 解决,否则,我拒绝它。这个承诺应该放在 module.exports 中。要替换捆绑包中的字符串,我们可以使用 string-replace-loader 插件并将其添加到 webpack 配置中的规则中(我们可以在数据库查询承诺数组中创建并在配置中使用它)

const config = { ... }; // some webpack config
const promise = new Promise((resolve, reject) => {
    sql.connect(...some sql config...)
        .then(() => {
            sql.query(...some sql query..)
                .then((response) => {
                    // here we can for example, modify config basing on 
                    // response (but firstly change it from const to let)
                    resolve(config);
                })
                .catch(() => reject());
        })
        .catch(() => reject());
});

module.exports = promise;

标签: webpack

解决方案


推荐阅读