Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Erro ao usar file-loader com style-loader

Quando tento fazer o build me gera um erro apontando para o módulo style-loader Segue o erro:

ERROR in Error: H:\CursosAlura\Aulas_JS\05_JS_Web_Criando_SPA_JavaScript_Puro\petshop/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js?:93 var style = document.createElement('style'); ^ ReferenceError: document is not defined

E pelo que entendi é do próprio arquivo do módulo, por isso fiquei sem entender

Abaixo segue meu código do arquivo webpack.config.js

const path = require("path");
const HtmlWebpackPlugin = require("html-webpack-plugin");

module.exports = {
    mode: "development",
    devServer: {
        open: true,
        contentBase: "dist"
    },
    entry: "./src/componentes/lista/listagem-cliente.js",
    output: {
        filename: "main.js",
        path: path.resolve(__dirname, "dist")
    },
    plugins: [
        new HtmlWebpackPlugin({
            template: "./src/clientes.html",
            filename: "index.html"
        })
    ],
    module: {
        rules: [{
                test: /\.css$/,
                use: ["style-loader", "css-loader"]
            },
            {
                test: /\.html$/,
                use: ["html-loader"]
            },
            {
                test: /\.png$/,
                use: {
                    loader: "file-loader",
                    options: {
                        name: "[name].[ext]"
                    }
                }
            }
        ]
    }
}
4 respostas

Oi, Edson, tudo bem?

Eu testei o seu código juntamente com o projeto do curso e não obtive esse erro. Se puder compartilha aqui o seu arquivo package.jsonpara testar também junto :}

Oi Laís, segue: Não encontrei uma opção de anexar o arquivo, então estou encaminhando o código diretamente aqui na página.

{
    "name": "petshop",
    "version": "1.0.0",
    "description": "",
    "main": "index.js",
    "scripts": {
        "start": "webpack-dev-server --config ./webpack.config.js --mode development",
        "build": "webpack --config webpack.config.js"
    },
    "author": "",
    "license": "ISC",
    "devDependencies": {
        "css-loader": "^4.2.2",
        "file-loader": "^6.0.0",
        "html-loader": "^1.2.1",
        "html-webpack-plugin": "^4.3.0",
        "style-loader": "^1.2.1",
        "webpack": "^4.44.1",
        "webpack-cli": "^3.3.12"
    }
}
solução!

Olá Lais!

Eu descobri onde era o problema, no arquivo clientes.html eu acabei esquecendo de retirar o trecho abaixo:

<link rel="stylesheet" href="./assets/css/clientes.css" />

Com isso estava gerando o conflito com o módulo style-loader.

Estou marcando como resolvido.

Grato pela atenção!

Oi, Edson, tudo bem?

Que bom que conseguiu resolver! E obrigada por compartilhar sua solução conosco :}

Bons estudos!