Ember.js 将材质设计组件与ember cli sass一起使用

Ember.js 将材质设计组件与ember cli sass一起使用,ember.js,sass,material-components-web,Ember.js,Sass,Material Components Web,我正在尝试将Material Components Web(MDC Web)sass功能与ember cli sass结合使用。 我已经用纱线安装了MDC Web 在我的ember-cli-build.js文件中,我将sass includePath设置为: sassOptions: { includePaths: ['node_modules/material-components-web','node_modules/@material'] }

我正在尝试将Material Components Web(MDC Web)sass功能与ember cli sass结合使用。 我已经用纱线安装了MDC Web

在我的ember-cli-build.js文件中,我将sass includePath设置为:

 sassOptions: {
           includePaths: ['node_modules/material-components-web','node_modules/@material']      
    }
然后在my app.scss文件中,尝试导入完整的组件库,如下所示:

@import "material-components-web";
但是我得到了一个错误:

错误:错误:要导入的文件找不到或不可读: @材料/按钮/mdc按钮


为什么SASS编译器找不到它?

在ember中,您必须在
ember cli.build.js
中导入不是ember插件的依赖项。看见从2.15开始,还可以从节点_模块()导入


但是,对于
材料组件web
而言,根本不需要这样做。相反,您可以简单地使用包含
材料组件web的ember插件。

这一问题在我第一次出发时也得到了我的支持。我已经在我的应用程序中使用它几个月了,这就是我在app.scss中的工作原理

// Parent MDC Theming example

$mdc-theme-primary: #009688;
$mdc-theme-secondary: #00bcd4;
$mdc-theme-background: #fff;

@import "material-components-web/material-components-web";

// Overrides to follow example

.mdc-grid-tile__secondary{
    background-color: rgba(0, 150, 136, 0.75);
}
.mdc-list-item{
    white-space: unset;
    overflow: visible;
}
以及在ember cli构建中

sassOptions: {
  includePaths: [
    'node_modules'
  ]
}

谢谢-但是ember material components web对我来说有太多的问题(一开始它不完整,支持很少)-因此我尝试直接导入MDC。我的问题不是关于导入javascript,而是关于导入SCS,所以我认为您提供的链接没有什么用处。我相信ember-material-components-web也会直接导入CSS,而不是允许访问SASS mixin,这正是我需要的。给定的链接还解释了导入其他资产,然后才是javascript。您还可以使用app.import导入CSS/SCS。管理依赖项链接告诉您使用ember cli sass导入sass-这就是我的问题所在。我看不到任何说明你可以应用。导入scss文件?很有趣。我在我的项目中尝试了这个,但没有成功。。。所以我在一个新的项目中尝试了它,它做到了。我会一直修修补补,直到找到原因!谢谢。啊,我还安装了余烬材料组件。删除它们解决了我的问题。感谢您发布此消息。我使用这个过程让CSS工作,但似乎我没有让JS正常工作。您能否在组件模板文件和组件JS文件中演示如何实现这一点?您还必须在ember-cli.build.js中执行任何app.import吗?谢谢@deanT是的,我可以向你展示,但是请创建一个新问题并将链接粘贴到这里,因为这一个是专门关于sass的,即CSS部分。我在这里发布了一个关于如何让JS工作的问题: