【问题标题】:Angular2-webpack-starter kit and SCSS supportAngular2-webpack-starter 工具包和 SCSS 支持
【发布时间】:2017-05-25 19:10:06
【问题描述】:

我有一个主 scss 文件,其中包含对我所有次要 scss 文件的导入。我正在尝试将此 scss 包含在我的组件中。我关注了How to include SCSS in components,但只是得到了错误。如果我执行所有步骤,我会收到此错误:

./src/styles/os_theme.scss 中的错误

模块构建失败:

// 松散地基于https://www.xfive.co/blog/itcss-scalable-maintainable-css-architecture/

^

Invalid CSS after "...load the styles": expected 1 selector or at-rule, was "var content = requi"
  in D:\project\src\styles\os_theme.scss (line 1, column 1)

这是我的主要 scss 开头的评论。

如果我删除 webpack.common.js 的这一部分:

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

当开发服务器运行时我没有收到任何错误,奇怪的是我的页脚获得了我期望的样式,但应用程序的其余部分没有运行,并且在控制台中我有这个错误:

错误:预期的“样式”是字符串数组。

这是我的组件的样子。 app.component.ts

@Component({
   selector: 'app',
   encapsulation: ViewEncapsulation.None,
    styleUrls: ['../../src/styles/os_theme.scss'],
   templateUrl: 'app.component.html'
 })

文件夹结构为:

-src
--styles
--- os_theme.scss (as imports to my other files)
--- _general.scss
--- components
----_components.buttons.scss
- app
-- app.component.ts

我不明白什么?

【问题讨论】:

    标签: angular webpack


    【解决方案1】:

    我认为指南已被弃用,但您可以查看 commitapp.module.ts 文件以查看他们如何使用 scsscss 文件。

    【讨论】:

    • 谢谢,当我删除这些文件以尝试 wiki 方法时,我应该知道这一点。这对我来说有点新,但为什么 import 语句而不是使用 Angular2 的 styleUrls?
    • here 解释了他们为什么这样做。为了节省您的点击次数,主 CSS 文件不再嵌套在 JS 中,而是在单独的文件中生成,以便在首次加载时提供更流畅的用户体验。
    猜你喜欢
    • 2017-04-30
    • 2016-08-02
    • 2016-12-20
    • 2017-02-07
    • 2017-05-11
    • 1970-01-01
    • 1970-01-01
    • 2017-08-10
    • 1970-01-01
    相关资源
    最近更新 更多