Невозможно использовать ng-bootstrap с Webpack и Angular2

Сначала я установил и импортировал NgbModule:

  • npm install --save @ng-bootstrap/ng-bootstrap
  • import {NgbModule} from '@ng-bootstrap/ng-bootstrap'

На данный момент все работает нормально, я могу запустить свое приложение так, как оно было до ng-bootstrap

Как только я добавил NgbModule в массив imports моего NgModule, как описано здесь:

@NgModule({
    imports: [
        NgbModule, ....
    ],
    declarations: [AppComponent, ....],
    bootstrap: [AppComponent],
})

Я не могу запустить npm start с помощью webpack-dev-server, так как он кричит:

ошибка

Это мой webpack.config.js:

module.exports = {
  entry: "./app/boot",
  output: {
    path: __dirname,
    filename: "./dist/bundle.js"
  },
  resolve: {
    extensions: ['', '.js', '.ts']
  },
  module: {
    loaders: [
      { test: /\.ts/,   loader: ["ts-loader"], exclude: /node_modules/ },
     ],
     preLoaders: [
      // All output '.js' files will have any sourcemaps re-processed by 'source-map-loader'.
      { test: /\.js$/, loader: "source-map-loader", exclude: ['node_modules', 'ext-*', 'lib', 'tools'] }
    ]
  },
  debug: true,
  devtool: 'source-map'
};

Любая помощь и объяснение будут оценены!

Заранее спасибо!

ОБНОВИТЬ:

Удаление использования source-map-loader из preLoaders устраняет ошибку, но не приводит к исходному коду Typescript в браузере.

Любая идея, что делать? и почему это происходит?


person Kesem David    schedule 03.09.2016    source источник


Ответы (2)


Похоже, что webpack ищет source-map-loader в файлах вашего локального компьютера, а не в вашем проекте. Поэтому я предполагаю, что npm install source-map-loader --save-dev не сработает.

Когда какой-то модуль запрашивается с вашего локального ПК, а не из вашего проекта, вероятно, это модуль, который должен быть установлен глобально.

Попробуйте: npm install source-map-loader -g

person Bar Goldinfeld    schedule 03.09.2016

Установлен ли модуль source-map-loader, т.е. находится ли он в вашей папке node_modules? Если не установить его с помощью этой команды:

npm install source-map-loader --save-dev
person Erik Barke    schedule 03.09.2016
comment
Эй, Эрик, спасибо за быстрый ответ. да загрузчик исходной карты установлен и присутствует в моем node_modules - person Kesem David; 03.09.2016
comment
Странно то, что эта ошибка появляется только тогда, когда я импортирую этот NgbModule, без импорта все работает нормально, но тогда я не могу использовать ng-bootstrap, конечно - person Kesem David; 03.09.2016
comment
@Cieja Да, обратите внимание на принятый ответ :) - person Kesem David; 27.03.2017