【问题标题】:Webpack 4 error - Module parse failed: Unexpected character '@'Webpack 4 错误 - 模块解析失败:意外字符“@”
【发布时间】:2020-01-10 22:41:43
【问题描述】:

我正在尝试构建一个反应应用程序并从 webpack 收到此错误:'ERROR in ./src/App.css 1:0 模块解析失败:意外字符“@”(1:0) 您可能需要适当的加载程序来处理此文件类型,目前没有配置加载程序来处理此文件。 App.css 中出现错误的第一行是这样的:@import url('https://fonts.googleapis.com/css?family=Alata|Comfortaa:400,600,700|Roboto&display=swap'); 我正在使用我在网上阅读的应该修复它的线程中了解到的 url-loader。

这是我完整的 web.config.js:

/* eslint-env node */

const webpack = require('webpack');
// eslint-disable-next-line @typescript-eslint/no-var-requires
const path = require('path');

module.exports = {
    entry: './src/index.js',
    module: {
        rules: [
            {
                test: /\.(js|jsx)$/,
                exclude: [/node_modules/],
                loader: ['babel-loader', 'eslint-loader']
            },
            {
                test: /\.(png|woff|woff2|eot|ttf|svg)$/,
                exclude: /node_modules/,
                use: [
                    {
                        loader: 'url-loader?limit=100000',
                        options: {
                            name: '[name].[ext]',
                            limit: 1024,
                            publicPath: 'dist/assets/',
                            outputPath: 'dist/assets/'
                        }
                    }
                ]
            }
        ]
    },
    resolve: {
        extensions: ['*', '.js', '.jsx']
    },
    output: {
        // path: __dirname + '/dist',
        path: path.resolve(__dirname, 'dist'),
        publicPath: '/',
        filename: 'bundle.js'
    },
    plugins: [new webpack.HotModuleReplacementPlugin()],
    devServer: {
        contentBase: './dist',
        hot: true
    }
};

【问题讨论】:

    标签: reactjs webpack


    【解决方案1】:

    您似乎在 .css 文件中使用 SASS(@import url(foo) 不是有效的 CSS,它是 SASS,因此 Webpack 不知道如何处理这一行)。由于你试图编译一个 SASS 文件,你需要配置你的 Webpack 构建来处理这种类型的文件。您应该安装sass-loader 插件并为其添加配置。

    查看插件自述文件https://github.com/webpack-contrib/sass-loader

    此外,您应该将您的 src/App.css 重命名为 src/App.scss,以便 Webpack 知道对该文件使用 sass-loader 插件。

    【讨论】:

    • 就是这样!没有意识到那是 SASS 而不是 CSS 语法。谢谢!
    猜你喜欢
    • 2018-11-28
    • 2018-11-10
    • 1970-01-01
    • 2017-04-04
    • 2019-10-11
    • 2019-08-04
    • 2019-03-31
    • 2017-11-04
    • 2018-03-29
    相关资源
    最近更新 更多