angular。如何从 node_modules 导入 css

angular. How to import css from node_modules

我正在使用 angular 5. 我是我的模块 我正在使用 leaflet 1.2.0.

在 leaflet.css 中,我对图像有问题,例如,某些 css 行:

.leaflet-retina .leaflet-control-layers-toggle {
  background-image: url(/assets/images/leaflet/layers-2x.png);
  background-size: 26px 26px;
}

/* Default icon URLs */
.leaflet-default-icon-path {
  background-image: url(/assets/images/leaflet/marker-icon.png);
}

所以,我需要访问leaflet.css到它的相对路径,我试过的是:

@Component({
  selector: 'myComponent',
  template:`<div id="myId" class="myClass"></div>`,
   styleUrls: ['./myComponent.component.scss','/../../../../node_modules/leaflet/dist/leaflet.css'],
})

文件夹结构:

--project_folder
  --node_modules
     --leaflet
         --dist
           --leaflet.css
  --src
    --app
      --myComponentParent
        --myComponent
          --myComponent.component.ts
          --myComponent.component.scss
          --myComponent.component.html

我可以引用 src 之外的文件夹吗?我该怎么做?

不用这样加。在您的 angular-cli.json 文件中添加带有脚本路径的样式标签

"styles": [
        "../node_modules/leaflet/dist/leaflet.css",
]

从您的组件中删除脚本

styleUrls: ['./myComponent.component.scss'],

如果您正在使用 Angular CLI,您需要将 Leaflet CSS 文件添加到 .angular-cli.json 中包含的样式数组,并从中删除 css 导入其他地方

"styles": [
         "styles.css",
        "../node_modules/leaflet/dist/leaflet.css",
]