Webpack sass-loader无效的CSS

4
每次运行我的构建时,我都会遇到这个错误。
Invalid CSS after "module.exports": expected "{", was '= "data:text/x-scss'

我还尝试使用了一个普通的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';
1个回答

9

我认为错误是因为您不知何故在 Sass 文件中使用了 url-loader。请将您的 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",
  }]
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接