1
resposta

Erro ao gerar Parcel

Estou criando uma aplicação do tipo parcel Usando o Sigle Spa , no navegador aprarece o seguinte erro ao abrir a pagina do webpack que era para aparece o endereço que temos que coloca no root "Uncaught SyntaxError: Cannot use import statement outside a module"

A tela fica branca e não aparece nada . o Arquivo do webpack tá padrão do jeito. o Estranho é que se crio do tipo root funciona sem problemas

const { merge } = require("webpack-merge");
const singleSpaDefaults = require("webpack-config-single-spa-react-ts");

module.exports = (webpackConfigEnv, argv) => {
  const defaultConfig = singleSpaDefaults({
    orgName: "teste-front",
    projectName: "testre",
    webpackConfigEnv,
    argv,
    outputSystemJS: false,
  });

  return merge(defaultConfig, {
    // modify the webpack config however you'd like to by adding to this object
  });
};
1 resposta

Olá, Rafael! Tudo bem?

O erro "Uncaught SyntaxError: Cannot use import statement outside a module" geralmente ocorre quando o navegador tenta interpretar um arquivo que utiliza a sintaxe de módulos ES6 (import/export) sem que ele esteja configurado para ser tratado como um módulo.

Você pode testar os seguintes passos para tentar resolver esse problema:

  1. Verifique a Configuração do Webpack: Certifique-se de que o Webpack está configurado para transpilar os módulos ES6. Isso geralmente é feito através do Babel. No seu webpack.config.js, você pode adicionar uma regra para lidar com arquivos JavaScript usando Babel:

    module: {
      rules: [
        {
          test: /\.(js|jsx|ts|tsx)$/,
          exclude: /node_modules/,
          use: {
            loader: "babel-loader",
            options: {
              presets: ["@babel/preset-env", "@babel/preset-react", "@babel/preset-typescript"]
            }
          }
        }
      ]
    }
    
  2. Verifique o Tipo de Módulo no package.json: Certifique-se de que o seu package.json possui a configuração correta para o tipo de módulo. Se você está utilizando módulos ES6, adicione "type": "module" no seu package.json.

  3. Certifique-se de que o Webpack está Gerando o Output Corretamente: Verifique se o Webpack está configurado para gerar o output correto. O outputSystemJS: false no seu código sugere que você não está utilizando SystemJS para carregar os módulos. Certifique-se de que o output está sendo gerado em um formato que o navegador pode entender.

  4. Verifique o Ambiente de Execução: Se você está rodando o código em um ambiente que não suporta ES6 nativamente (por exemplo, navegadores mais antigos), considere usar um polyfill ou transpilar o código para ES5.

Espero que essas dicas ajudem a resolver o problema. Conte com o apoio do fórum em sua jornada :)

Um abraço e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓