Shamoon
Shamoon

Reputation: 43639

How do I solve Error importing a css file with next.js?

Error:

./node_modules/quill-emoji/dist/quill-emoji.css
ModuleParseError: Module parse failed: Unexpected character '�' (1:0)
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
(Source code omitted for this binary file)

In _app.js, I have:

import "quill-emoji/dist/quill-emoji.css";

And in next.config.js:

const withCSS = require('@zeit/next-css');
const withImages = require("next-images");
const withPlugins = require("next-compose-plugins");


if (typeof require !== 'undefined') {
    require.extensions['.less'] = () => {};
    require.extensions['.css'] = file => {};
}

module.exports = withPlugins([
    withImages,
    withCSS
], {
    devIndicators: {
        autoPrerender: false,
    },
    webpack: (config, { buildId, dev, isServer, defaultLoaders, webpack }) => {
...
})

Upvotes: 1

Views: 458

Answers (2)

Ramakay
Ramakay

Reputation: 3145

The emoji css seems to include content of data:image and loads svg's inline.

I was trying with multiple loaders and couldn't find the right sequence, you probably need resolve-url-loader in some specific sequence.

It maybe best to just link it using next/head and call it a day.

Upvotes: 1

castin
castin

Reputation: 313

I think the emoji icons are svg. You might need an svg loader to solve this problem.

next-images adds support for jpg, jpeg, svg, png, ico, webp and gif images.

NOTE: I have not tested this with quill

This is an example snippet.

const withImages = require("next-images");

module.exports = withImages({
    webpack(config, options) {
        return config;
    }
});

Upvotes: 0

Related Questions