【问题标题】:Webpack - Unable to find loader for SASS/SCSSWebpack - 无法找到 SASS/SCSS 的加载器
【发布时间】:2016-12-22 20:39:30
【问题描述】:

我收到以下错误消息:

ERROR in ./src/assets/css/site.scss
Module parse failed: C:\_Code\vscode\angular2-webpack-starter\src\assets\css\site.scss Unexpected character '@' (1:0)
You may need an appropriate loader to handle this file type.
| @import "_variables.scss";
| @import "_helpers.scss";
| html {
 @ ./src/app/app.component.ts 5:0-34
 @ ./src/app/app.module.ts


module: {
        loaders: [
        {
            test: /\.woff(\?v=\d+\.\d+\.\d+)?$/,
            loader: "url?limit=10000&minetype=application/font-woff"
        }, {
            test: /\.woff2(\?v=\d+\.\d+\.\d+)?$/,
            loader: "url?limit=10000&minetype=application/font-woff"
        }, {
            test: /\.ttf(\?v=\d+\.\d+\.\d+)?$/,
            loader: "url?limit=10000&minetype=application/octet-stream"
        }, {
            test: /\.eot(\?v=\d+\.\d+\.\d+)?$/,
            loader: "file"
        }, {
            test: /\.svg(\?v=\d+\.\d+\.\d+)?$/,
            loader: "url?limit=10000&minetype=image/svg+xml"
        },{
            test: /\.sass$/,
            loaders: ["style", "css", "sass"]
        }
       ,{
            test: /\.scss$/,
            loaders: ["style", "css", "sass"]
        }], 
        rules:[...]
      //Other random code from webpack starter kit

};

下面的代码可以正常工作

//Works    
require("!style-loader!css-loader!sass-loader!../assets/css/site.scss");
//Doesn't work
require('../assets/css/site.scss');

已经尝试了以下配置选项

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

loaders: ["style", "css", "sass"]
loader: '!style-loader!css-loader!sass-loader!'
loader: 'style-loader!css-loader!sass-loader'

我想从 webpack 配置加载,但似乎无法正常工作。该项目实际上是整个 Angular 2 webpack starter。

正确的软件包都作为依赖项安装,我已经阅读了教程和我可以在 Google 上找到的所有解决方案。

【问题讨论】:

  • 你在 webpack,common.ts 中定义了吗?它应该在那里
  • 是的,它在 webpack.common.js 中,我也尝试在 common.js 文件的顶部使用 require ([每个加载器名称]) 声明它;

标签: angular sass webpack


【解决方案1】:

这是我正在使用的,它有效:

        {
            test: /\.scss$/,
            use: ['to-string-loader', 'css-loader', 'sass-loader']
        },

并安装

"style-loader
"to-string-loader
"sass-loader
"node-sass
"css-loader

【讨论】:

  • 将其更改为规则 - 不是加载器为我工作。所以这在技术上是正确的,但是我没有使用'to-string-loader'并继续使用样式加载器。
猜你喜欢
  • 2016-03-02
  • 2020-06-09
  • 2015-11-11
  • 2019-07-18
  • 2015-12-18
  • 2015-09-18
  • 2016-10-09
  • 2016-08-23
  • 2016-01-23
相关资源
最近更新 更多