Webpack sass-loader 无效 CSS

Webpack sass-loader Invalid CSS

每当 运行 我的构建时,我都会收到此错误。

Invalid CSS after "module.exports": expected "{", was '= "data:text/x-scss'

我也尝试过使用 vanilla JS webpack 配置并得到同样的错误,所以它不是 TypeScript 配置。还尝试了 extract-text-webpack-plugin 但得到了同样的错误。实际应用运行良好,但显然没有 CSS。这是配置。

import * as path from 'path';
import * as webpack from 'webpack'

const config: webpack.Configuration = {
    entry: {
        app: ['./js/main.ts']
    },
    output: {
        path: path.resolve(__dirname, './dist/js'),
        filename: '[name].js'
    },
    module: {
        rules:[
            {
                test: /\.html$/,
                loader: 'ngtemplate-loader?prefix=/&module=app&relativeTo=' + (path.resolve(__dirname, './js/app')) + '/!html-loader'
            },
            {
                test: /\.ts$/,
                loader: 'awesome-typescript-loader'
            },
            {
                test: /\.(sass|scss|ttf|svg|woff)$/,
                use: [{
                    loader: "style-loader"
                }, {
                    loader: "css-loader"
                }, {
                    loader: "sass-loader",
                }, {
                    loader: "url-loader"
                }]
            }
        ]
    }
}

export default config

这里是主 sass 文件的片段。

@import "utilities/variables";
@import "utilities/animations";
@import "utilities/helpers";

在主应用程序文件中导入:

import '../sass/sass.scss';

我认为错误是因为您以某种方式将 url-loader 用于 Sass 文件。将 webpack.config 规则拆分为 (sass|scss|ttf|svg|woff),使其看起来像这样:

{
  test: /\.(ttf|svg|woff)$/,
  use: [{
    loader: "url-loader"
  }]
},
{
  test: /\.(sass|scss)$/,
  use: [{
    loader: "style-loader"
  }, {
    loader: "css-loader"
  }, {
    loader: "sass-loader",
  }]
}