Angular 2: How to correctly automatically import normalize.css
我是Angular 2的新用户,但我遇到了一些问题。
传统上,我们可以使用
使用材料2时,我尝试使用相同的方式:
1 2 3 4 5 6 7 8 9 | // angular-cli-build.js module.exports = function(defaults) { return new Angular2App(defaults, { vendorNpmFiles: [ 'normalize-path/index.js', ] }); }; |
1 2 3 4 5 6 7 8 9 10 | // system-config.ts const map: any = { 'normalize': 'vendor/normalize-path', }; /** User packages configuration. */ const packages: any = { 'normalize': {main: 'index.js'}, }; |
1 2 3 | // app.component.ts import { normalize } from 'normalize-path'; |
编辑将抱怨:
Cannot find module 'normalize-path'.
而且代码不会编译。 但是我真的不知道怎么了。
根据此答案,所有需要做的是:
安装normalize.css库:
1 | npm install --save normalize.css |
以您的styles.css导入
1 | @import '~normalize.css'; |
更新Angular 8
安装normalize.css库:
1 | npm install --save normalize.css |
以您的styles.css导入
1 | @import '~normalize.css'; |
使用最新版本的angular-cli(
注意:如果使用Angular 7,配置文件现在为
例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | { "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 } } |
接受的响应似乎不适用于应用程序。我需要删除路径名中的
angular.json样式应如下所示:
1 2 3 4 | "styles": [ "node_modules/normalize.css/normalize.css", "styles.css" ], |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | // 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' ] }); }; |
并简单地将css链接添加到index.html
1 2 | // index.html <link href="vendor/normalize.css/normalize.css" rel="stylesheet"> |