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 ? ) {

最佳答案

这可以通过将ProvidePlugin插件用于webpack来实现:

webpack.config.js

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


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

09-25 18:40