Неверный объект конфигурации. Webpack был инициализирован с использованием конфигурации

По состоянию на это утро, с угловым CLI 1.0.0-beta.14 я ng new try3 а также ng serve и получите следующую ошибку:

Invalid configuration object. Webpack has been initialised using a configuration object that does not match the API schema.
 - configuration has an unknown property 'tslint'. These properties are valid:
   object { amd?, bail?, cache?, context?, devServer?, devtool?, entry, externals?, loader?, module?, name?, dependencies?, node?, output?, plugins?, profile?, recordsInputPath?, recordsOutputPath?, recordsPath?, resolve?, resolveLoader?, stats?, target?, watch?, watchOptions? }
 - configuration.module has an unknown property 'preLoaders'. These properties are valid:
   object { rules?, loaders?, noParse?, unknownContextRequest?, unknownContextRegExp?, unknownContextRecursive?, unknownContextCritical?, exprContextRequest?, exprContextRegExp?, exprContextRecursive?, exprContextCritical?, wrappedContextRegExp?, wrappedContextRecursive?, wrappedContextCritical? }
   Options affecting the normal modules (`NormalModuleFactory`).
 - configuration.node.global should be a boolean.
 - configuration.resolve has an unknown property 'root'. These properties are valid:
   object { modules?, descriptionFiles?, plugins?, mainFields?, aliasFields?, mainFiles?, extensions?, enforceExtension?, moduleExtensions?, enforceModuleExtension?, alias?, symlinks?, unsafeCache?, cachePredicate?, fileSystem?, resolver? }
 - configuration.resolve.extensions[0] should not be empty.
WebpackOptionsValidationError: Invalid configuration object. Webpack has been initialised using a configuration object that does not match the API schema.
 - configuration has an unknown property 'tslint'. These properties are valid:
   object { amd?, bail?, cache?, context?, devServer?, devtool?, entry, externals?, loader?, module?, name?, dependencies?, node?, output?, plugins?, profile?, recordsInputPath?, recordsOutputPath?, recordsPath?, resolve?, resolveLoader?, stats?, target?, watch?, watchOptions? }
 - configuration.module has an unknown property 'preLoaders'. These properties are valid:
   object { rules?, loaders?, noParse?, unknownContextRequest?, unknownContextRegExp?, unknownContextRecursive?, unknownContextCritical?, exprContextRequest?, exprContextRegExp?, exprContextRecursive?, exprContextCritical?, wrappedContextRegExp?, wrappedContextRecursive?, wrappedContextCritical? }
   Options affecting the normal modules (`NormalModuleFactory`).
 - configuration.node.global should be a boolean.
 - configuration.resolve has an unknown property 'root'. These properties are valid:
   object { modules?, descriptionFiles?, plugins?, mainFields?, aliasFields?, mainFiles?, extensions?, enforceExtension?, moduleExtensions?, enforceModuleExtension?, alias?, symlinks?, unsafeCache?, cachePredicate?, fileSystem?, resolver? }
 - configuration.resolve.extensions[0] should not be empty.
    at webpack (/home/jan/src/fm-repos/try3/node_modules/webpack/lib/webpack.js:16:9)
    at Class.run (/home/jan/src/fm-repos/try3/node_modules/angular-cli/tasks/serve-webpack.js:23:27)
    at /home/jan/src/fm-repos/try3/node_modules/angular-cli/commands/serve.js:84:26
    at process._tickCallback (internal/process/next_tick.js:103:7)

В последний раз я ng new проект был несколько дней назад - на тот момент работал файл. Вот мое окружение:

angular-cli: 1.0.0-beta.14
node: 6.5.0
os: linux x64

8 ответов

Решение

Обновите угловой CLI до 1.0.0-beta.15 или лучше:

  npm uninstall angular-cli -g
  npm cache clean
  npm install angular-cli@latest -g

который генерирует рабочие леса:

  ng new try4
  cd try4
  ng serve

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

  rm -rf node_modules dist tmp
  npm install angular-cli@latest --save-dev
  ng init

и внимательно рассмотрите каждое из различий в каждом файле.

Основная причина: как только работает версия Angular CLI, она, конечно, не должна перестать работать. К несчастью, angular-cli 1.0.0-beta.14 имеет "каретную" зависимость от webpack: ^2.1.0-beta.22 -- Обратите внимание ^, Вчера, webpack вышел 2.1.0-beta.23 который не совместим с angular-cli 1.0.0-beta.14 итак, из-за каретки (^), развернутые версии angular-cli 1.0.0-beta.14 перестали работать. Чтобы решить эту проблему, angular-cli 1.0.0-beta.15 был выпущен вчера с фиксированным webpack: 2.1.0-beta.22 зависимость - обратите внимание на отсутствие ^ - таким образом избегая взлома обновления до веб-пакета. См. https://github.com/angular/angular-cli/issues/2234 для получения подробной информации.

Обход проекта: если вы не можете или не хотите обновлять Angular CLI, вы можете обойти зависимость каретного веб-пакета, добавив фиксированную зависимость веб-пакета в ваш собственный проект. Конечно, вам придется поддерживать эту зависимость в будущем:

  npm install webpack@2.1.0-beta.22 --save-dev

Выберите этот обходной путь, если вы не можете обновить Angular CLI.

Я только что столкнулся с этой проблемой сегодня, выполняя проект ng2.0.0, решением было понизить версию веб-пакета.

npm uninstall webpack --save-dev

npm install webpack@2.1.0-beta.22 --save-dev

это, вероятно, скоро будет исправлено в файле package.json, который angular-cli 1.0.0-beta.15 генерирует.

это исправление должно решить проблему с любыми существующими проектами.

Вы используете бета-версию webpack2?

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

вам нужно добавить свои собственные свойства с помощью плагинов:

plugins: {
    new webpack.LoaderOptionsPlugin({
      options: {
        postcss: ...
      }
    })
}

npm удалить веб-пакет --save-dev

с последующим

npm установить webpack@2.1.0-beta.22 --save-dev

Тогда вы снова сможете проглотить. Исправлена ​​проблема для меня.

Если angular-cli не установлен глобально npm install angular-cli@latest -g

Проверьте, установлен ли angular-cli или нет, используя эту команду ng --version

Это решает проблему в моем случае npm install webpack

Вы можете попробовать выполнить следующие команды:

npm uninstall angular-cli -g
npm cache clean
npm install webpack // Move webpack to latest

Пожалуйста, проверьте, установлен ли ts-loader в вашем проекте. Это необходимо и нужно для загрузки файлов.ts.

Также убедитесь, что ваш loaders объект находится под module например

  module: {
    loaders: [{test: /\.js$/, exclude: /node_modules/, loader: 'babel-loader'}]
  }

Это решило проблему для меня

Другие вопросы по тегам