scss archivo css angular typescript normalize-css

archivo - Angular 2: Cómo importar correctamente normalize.css automáticamente



normalize css documentation (4)

Basado en esta respuesta , todo lo que tenía que hacer era:

@import ''~normalize.css/normalize.css'';

En el archivo styles.css.

Soy un nuevo usuario de Angular 2 y tengo algunos problemas con él.

Tradicionalmente, podríamos usar <link rel="stylesheet" href="node_modules/normalize.css/normalize.css" /> para importar un archivo css, pero quiero hacer que Angular 2 lo importe automáticamente usando la import .

Intenté usar la misma manera cuando usé el Material 2:

// angular-cli-build.js module.exports = function(defaults) { return new Angular2App(defaults, { vendorNpmFiles: [ ''normalize-path/index.js'', ] }); };

// system-config.ts const map: any = { ''normalize'': ''vendor/normalize-path'', }; /** User packages configuration. */ const packages: any = { ''normalize'': {main: ''index.js''}, };

// app.component.ts import { normalize } from ''normalize-path'';

El editor se quejará:

No se puede encontrar el módulo ''ruta de normalización''.

Y el código no compilará. Pero realmente no tengo idea de lo que estaba mal.


Con la versión actual ( 1.0.0-beta.15 ) de angular-cli, la solución es bastante sencilla:

  1. npm i normalize.css
  2. agregue "../node_modules/normalize.css/normalize.css" en apps[0].styles en el archivo de configuración angular-cli.json

Nota: Si usa Angular 7, el archivo de configuración ahora es angular.json , y la ruta a normalise.css en las apps[0].styles debe ser "../node_modules/normalize.css/normalize.css" .

Ejemplo:

{ "project": { "version": "1.0.0-beta.15", "name": "normalize.css-in-angular2" }, "apps": [ { "root": "src", "outDir": "dist", "assets": "assets", "index": "index.html", "main": "main.ts", "test": "test.ts", "tsconfig": "tsconfig.json", "prefix": "app", "mobile": false, "styles": [ "../node_modules/normalize.css/normalize.css", "styles.css" ], "scripts": [], "environments": { "source": "environments/environment.ts", "dev": "environments/environment.ts", "prod": "environments/environment.prod.ts" } } ], "addons": [], "packages": [], "e2e": { "protractor": { "config": "./protractor.conf.js" } }, "test": { "karma": { "config": "./karma.conf.js" } }, "defaults": { "styleExt": "css", "prefixInterfaces": false } }


La respuesta aceptada no parece estar funcionando en la aplicación. Necesitaba quitar el ../ en el nombre de la ruta.

El bit de los estilos angular.json debería ser algo como esto:

"styles": [ "node_modules/normalize.css/normalize.css", "styles.css" ],


// angular-cli-build.js module.exports = function(defaults) { return new Angular2App(defaults, { vendorNpmFiles: [ ''systemjs/dist/system-polyfills.js'', ''systemjs/dist/system.src.js'', ''zone.js/dist/**/*.+(js|js.map)'', ''es6-shim/es6-shim.js'', ''reflect-metadata/**/*.+(ts|js|js.map)'', ''rxjs/**/*.+(js|js.map)'', ''@angular/**/*.+(js|js.map)'', ''@angular2-material/**/*.+(js|js.map)'', ''normalize.css/normalize.css'' ] }); };

y simple agrega el enlace css a index.html

// index.html <link href="vendor/normalize.css/normalize.css" rel="stylesheet">