【问题标题】:BigNumber usage with Webpack + AngularBigNumber 在 Webpack + Angular 中的使用
【发布时间】:2016-01-28 12:23:46
【问题描述】:
Error: [$injector:unpr] Unknown provider: BigNumberProvider 

我正在使用Webpack + Angular.JS 开始项目,我想使用Bignumber.js 但不能包含它。

Webpack 配置部分:

  resolve: {
      root: [path.join(__dirname, 'assets/libs/bower_components'), 'node_modules']
    },
    entry: {
      entry: ['./app/app.js'],
      vendor: [
          'lodash',
          'bignumber.js',
          'angular'
          ....

由于它是库,因此我不将其作为依赖项包含在我的主 app.js 中。 但我正在尝试将其注入我的指令:

app.directive('createpayment', [
      '$http',
      ' * ', // I've tried BigNumber, bignumber, binumber.js all of this doen't work
             // And there is nothing about this in README
      function($http, BigNumber ? , bignumber ? ) {

【问题讨论】:

  • 感谢您的回答,但我已经找到了答案
  • 您对此有何解决方案?我正在寻找与许多库和 Angular 应用程序类似的东西。

标签: javascript angularjs webpack


【解决方案1】:

这可以通过使用 webpack 的 ProvidePlugin 插件来实现:

webpack.config.js

...
plugins: [
  new webpack.ProvidePlugin({
    BigNumber: 'bignumber.js',
    lodash: 'lodash',
    $: 'jquery'
  }),
]
...

ProvidePlugin 定义假定您已经在 webpack 配置中添加了 resolve 声明。

【讨论】:

  • 谢谢你,我用它来解决我在包装在 Webpack 中的 Angular 应用程序中使用的其他 Javascript 模块(如 BigNumber)的问题。
猜你喜欢
  • 1970-01-01
  • 2019-09-06
  • 2016-03-06
  • 2016-12-09
  • 2018-03-05
  • 2021-04-02
  • 2016-12-23
  • 2017-09-25
  • 2017-06-23
相关资源
最近更新 更多