angular angular2-cli

angular - Objeto de configuración no válido. Webpack se ha inicializado utilizando una configuración



webpack angular 4 (6)

A partir de esta mañana, con Angular CLI 1.0.0-beta.14 I ng new try3 y ng serve y obtendré el siguiente error:

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)

La última vez que estuve en un proyecto fue hace unos días, en ese punto funcionó el archivo. Aquí está mi entorno:

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


¿Está utilizando webpack2 beta?

Si es así, no puede tener propiedades personalizadas en la configuración ahora.

necesita agregar sus propiedades personalizadas a través de complementos:

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


Acabo de encontrarme con este problema hoy ejecutando un proyecto ng2.0.0, la solución fue degradar el paquete web.

npm uninstall webpack --save-dev npm install [email protected] --save-dev

esto probablemente se solucionará pronto en el paquete.json que genera angular-cli 1.0.0-beta.15 .

Esta solución debería resolver el problema en cualquier proyecto existente.


Actualice Angular CLI a 1.0.0-beta.15 o superior:

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

que genera andamios de trabajo:

ng new try4 cd try4 ng serve

Si tiene un proyecto existente creado con versiones anteriores de Angular CLI, deberá actualizar:

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

y revise cuidadosamente cada una de las diferencias en cada archivo.

Causa raíz : una vez que una versión de Angular CLI está funcionando, no debe dejar de funcionar, por supuesto. Desafortunadamente, angular-cli 1.0.0-beta.14 tiene una dependencia de "caret" en el webpack: ^2.1.0-beta.22 - note el ^ . Ayer, el webpack lanzó 2.1.0-beta.23 que no es compatible con angular-cli 1.0.0-beta.14 , por lo que, debido a la caret ( ^ ), las versiones desplegadas de angular-cli 1.0.0-beta.14 tienen dejó de funcionar. Para solucionar este problema, angular-cli 1.0.0-beta.15 se lanzó ayer con un webpack: 2.1.0-beta.22 fijo webpack: 2.1.0-beta.22 dependencia - note la falta de ^ - evitando así la actualización de última hora del paquete web. Consulte https://github.com/angular/angular-cli/issues/2234 para obtener más información.

Solución temporal del proyecto : si no puede o no quiere actualizar Angular CLI, puede solucionar la dependencia del paquete web de Caret agregando una dependencia de paquete web fija a su propio proyecto. Tendrás que mantener esta dependencia en el futuro, por supuesto:

npm install [email protected] --save-dev

Elija esta solución temporal si no puede actualizar Angular CLI.


Compruebe si el ts-loader está instalado en su proyecto. Se debe y debe para cargar los archivos .ts.


También asegúrese de que el objeto de su loaders esté bajo el module por ejemplo

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

Esto solucionó el problema para mí.


npm desinstalar webpack --save-dev

seguido por

npm install [email protected] --save-dev

Entonces deberías poder tragar de nuevo. Arreglado el problema para mí.