css - Angular 2 : How to correctly automatically import normalize. CSS

标签 css angular typescript normalize-css

我是 Angular 2 的新用户,我遇到了一些问题。

传统上,我们可以使用 <link rel="stylesheet" href="node_modules/normalize.css/normalize.css" />导入一个 css 文件,但我想让 Angular 2 使用 import 自动导入它.

我在使用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';

编辑会提示:

Cannot find module 'normalize-path'.

并且代码无法编译。但我真的不知道哪里出了问题。

最佳答案

Angular 8 更新

  1. 安装 normalize.css 库:

    npm install --save normalize.css
    
  2. 在你的 styles.css 中导入它

    @import '~normalize.css';
    

使用当前 (1.0.0-beta.15) 版本的 angular-cli,解决方案非常简单:

  1. npm i normalize.css
  2. 在配置文件 angular-cli 的 apps[0].styles 中添加 "../node_modules/normalize.css/normalize.css"。 json

注意:如果使用 Angular 7,配置文件现在是 angular.json,并且是 apps[0].styles 中 normalise.css 的路径 应该是 "../node_modules/normalize.css/normalize.css".

示例:

{
  "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
  }
}

关于css - Angular 2 : How to correctly automatically import normalize. CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38409773/

相关文章:

javascript - 使用 jquery 恢复元素样式

typescript - 如何从 ApplicationContext 获取实体的存储库

node.js - 模型相互引用错误 : circular dependencies problem

javascript - 如何在 TypeScript 声明源文件中声明嵌套函数?

html - 如何在div中引用ul元素?

javascript - 选择时如何更改菜单颜色?

javascript - 自动重新加载div容器

html - 如何在 Mat Chip Angular 中编辑 Mat Ripples 属性

angular - 导入时的 typescript 类和名称脚本层次结构

javascript - 在 Angular 2 中进行 http 调用后返回热/共享可观察值的最佳方法是什么