You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级expose-loader至v1.0后,Aurelia项目Bluebird暴露配置如何调整?

适配expose-loader v1.0+的Webpack配置修改方案

你碰到的这个错误是因为expose-loader从v1.0版本开始完全重构了配置API,旧版通过查询参数(?Promise)传递暴露变量的方式已经被废弃,现在必须使用exposes选项来定义全局变量。

直接把你的Webpack配置改成下面这样就能解决问题:

module.exports = {
  module: {
    rules: [
      {
        test: /[\/\\]node_modules[\/\\]bluebird[\/\\].+\.js$/,
        loader: 'expose-loader',
        options: {
          exposes: 'Promise'
        }
      },
    ],
  },
};

补充说明:

如果之后需要更灵活的配置(比如同时暴露多个变量,或者指定模块内部的引用别名),还可以使用对象格式的配置:

options: {
  exposes: {
    globalName: 'Promise', // 全局环境中暴露的变量名
    moduleLocalName: 'BluebirdPromise' // 可选,模块内部的引用名称
  }
}

这样修改后,Webpack就能正确识别配置,把Bluebird的Promise实例暴露到浏览器全局环境中了。

内容的提问来源于stack exchange,提问作者Lurch

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 10:23:02