Javascript 角度2组件样式不解析从节点_模块导入的css
基于在下找到的文档,我试图导入在node_模块下找到的样式表;即: test.component.css:Javascript 角度2组件样式不解析从节点_模块导入的css,javascript,css,angular,Javascript,Css,Angular,基于在下找到的文档,我试图导入在node_模块下找到的样式表;即: test.component.css: @import'~@angular/material/core/theming/all-theme.css' 由此定义了组件: @Component({ moduleId: module.id, selector: 'app-test', templateUrl: 'test.component.html', styleUrls: ['test.compon
@import'~@angular/material/core/theming/all-theme.css'代码>
由此定义了组件:
@Component({
moduleId: module.id,
selector: 'app-test',
templateUrl: 'test.component.html',
styleUrls: ['test.component.css'],
encapsulation: ViewEncapsulation.None
})
export class TestComponent {
}
不幸的是,当浏览到该页面时,会出现~@angular/material/core/theming/all-theme.css无法找到
此项目是使用Angular Cli设置的
我想我可以复制样式,并以这种方式引用它们,但我宁愿将库依赖项分开。如果您想包含节点模块文件夹中的任何样式表。。只需将其添加到.angular-cli.json中即可
"styles": [
"../node_modules/bootstrap/scss/bootstrap.scss"
]
此外,在使用第三方插件动态创建html或添加一些随机css之前,不需要添加封装:ViewEncapsulation.None
您可以始终使用.angular cli.json中包含的全局css。问题在于文件扩展名。您正在使用扩展名css
,该扩展名不支持从其他位置导入文件。您可以更好地将扩展名更改为scss
。在这种情况下,您可以从节点\u模块
导入文件 为了确定,您是否安装了@angular/material。文件夹结构是否正确,文件是否存在于节点_模块中?在我从angular cli v1.0.0-beta.28.3升级到angular/cli v1.1.2后,这看起来就解决了。这是正确的。您还可以在styles.csit中导入样式。它看起来像是升级到angular cli v1.1.2版本,无需修改.angular-cli.json即可修复,尽管我也尝试过。我仍然发现我需要使用ViewEncapsulation。否则,当我将导入的类添加到元素的classList中时,它们不会被解析。不支持CSS导入?在网页包中,当CSS导入任何文件时,它会被解释为URL,如果您使用SCS,则该文件将作为样式加载程序导入。意味着它实际上加载的不仅仅是URL文件。
"styles": [
"../node_modules/bootstrap/scss/bootstrap.scss"
]