Ошибка получения неизвестного провайдера при внедрении службы в модульный тест Angular

Добавление к вышеуказанному ответу,

Свойство resolve - это место, где вы должны добавить все типы файлов, которые вы используете в своем приложении.

Предположим, вы хотите использовать файлы .jsx или .es6 , с которыми вы можете с радостью включить их здесь, и webpack разрешит их:

resolve: {
  extensions: ["", ".js", ".jsx" ".es6"]
          }

Если вы добавите расширения в разрешить , вы можете удалить их из оператора импорта:

import Hello from './hello';// Extensions removed
import World from './world';

Другие сценарии, например, если вы хотите, чтобы скрипт кофе был обнаружен, вы должны настроить свойство теста так же, как:

// webpack.config.js
module.exports = {
  entry: './main.js',
  output: {
    filename: 'bundle.js'       
  },
  module: {
    loaders: [
      { test: /\.coffee$/, loader: 'coffee-loader' },
      {
        test: /\.js$/,
        loader: 'babel-loader',
        query: {
          presets: ['es2015', 'react']
        }
      }
    ]
  },
  resolve: {
    // you can now require('file') instead of require('file.coffee')
    extensions: ['', '.js', '.json', '.coffee'] 
  }
};
30
задан danwellman 3 October 2016 в 11:58
поделиться