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

webpack

Após incluir os loaders de style, html e png o webpack deu um erro ao executar o comando npm run build.

O que pode ser??

/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js?:93
    var style = document.createElement('style');
                ^
  ReferenceError: document is not defined

  - injectStylesIntoStyleTag.js?:93 insertStyleElement
    [.]/[style-loader]/dist/runtime/injectStylesIntoStyleTag.js?:93:15

package.json

{
  "name": "05-spa-javascript",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "start": "npm run build && webpack-dev-server --config ./webpack.config.js --mode development",
    "build": "webpack --config webpack.config.js"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "css-loader": "^3.5.2",
    "file-loader": "^6.0.0",
    "html-loader": "^1.1.0",
    "html-webpack-plugin": "^4.2.0",
    "style-loader": "^1.1.3",
    "webpack": "^4.42.1",
    "webpack-cli": "^3.3.11",
    "webpack-dev-server": "^3.10.3"
  }
}

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",
      fielname: "index.html"
    })
  ],
  module: {
    rules: [
      {
        test: /\.css$/i,
        use: ["style-loader", "css-loader"]
      }, {
        test: /\.html$/,
        use: ["html-loader"]
      }, {
        test: /\.png$/,
        use: {
          loader: "file-loader",
          options: {
            name: "[name].[ext]"
          }
        }
      }
    ]
  }
}
4 respostas

Fala ai Marcelo, tudo bem? Parece que seu style-loader está tentando processar arquivos JavaScript, tente remover o i do final da regex.

Seu código:

test: /\.css$/i,

Tente assim:

test: /\.css$/,

Espero ter ajudado.

Boa tarde Matheus,

Fiz o recomendado e continua apresentando o mesmo problema.

De qualquer forma eu agradeço!

Continuo nas pesquisas aqui...

solução!

Finalmente consegui.

Voltei algumas aulas, peguei as versões instaladas pelo instrutor, apaguei a pasta node_modules e o arquivo package-lock.json, instalei tudo novamente e deu certo, consegui rodar tudo!!

Voltei no módulo 02. Conhecendo webpack, aula "Criando DevServer" e assisti novamente até o final!

Boa Marcelo, parece que era um problema de cache e dependências, fico feliz que tenha resolvido.

Sempre que precisar não deixe de criar suas dúvidas.

Abraços e bons estudos.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software