Angular 2 中的 Sass 和 webpack 不工作

标签 sass angular webpack

我是按照sass-loader包来做的: 在我的网络配置中,我有:

{
        loaders: [
            {
                test: /\.scss$/,
                loaders: ["style", "css", "sass"]
            }
        ]
    }

在模块中,我像这样导入 scss:

 styles:  require('./home.scss') ,

Scss 文件如下所示:

$font-stack:    Helvetica, sans-serif;
$primary-color: #333;

md-card {
font: 100% $font-stack;
color: $primary-color;
}

不幸的是,当我运行该应用程序时,会发生以下情况:

ERROR in ./src/app/home/home.scss
Module parse failed: C:\src\app\home\home.scss Line 1: Unexpected token :
You may need an appropriate loader to handle this file type.
| $font-stack:    Helvetica, sans-serif;
| $primary-color: #333;
|
@ ./src/app/home/home.component.ts 49:20-42

我认为一切都应该没问题,当它失败时呢?

最佳答案

我推荐使用 raw-loader 将样式导入 angular2 组件:https://github.com/webpack/raw-loader

...
loaders: [
    {
        test: /\.scss$/,
        loaders: ['raw-loader', 'sass-loader']
     }
]
...

此外,styles 应该是一个数组!

...
styles: [ require('./home.scss') ],
...

另见:https://github.com/AngularClass/angular2-webpack-starter/wiki/How-to-include-SCSS-in-components

顺便说一句:您也可以使用 raw-loader 导入模板。

关于Angular 2 中的 Sass 和 webpack 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36859347/

相关文章:

javascript - 赋值运算符上出现意外标记

css - @import 的 SASS/SCSS 自定义 css 表

arrays - 如何在 Angular 2 中使用 TypeScript 过滤数组?

reactjs - Webpack dev-server 意外的标识符错误

node.js - 使用 Electron 作为 Ubuntu 上的 npm dev 依赖项

angular - Ionic 2 防止硬件后退按钮默认

webpack - 如何定义加载器内联?

css - 如果复选框被选中则隐藏一个元素

css - 我在我的 webpack 配置中设置 Autoprefixer 时遇到问题

reactjs - React Core Layout 组件架构