2
votes

Réagir: vous aurez peut-être besoin d'un chargeur approprié pour gérer ce type de fichier

Je suis un novice en matière de réaction et de webpack4 et je n'ai pas non plus beaucoup d'expérience avec Javascript.

J'obtiens l'erreur suivante lorsque j'exécute npm run dev (voir package. json plus bas):

import React from "react";
import ReactDOM from "react-dom";
import DataProvider from "./DataProvider";
import Table from "./Table";
const App = () => (
  <DataProvider endpoint="api/lead/" render={data => <Table data={data} />} />
);
const wrapper = document.getElementById("app");
wrapper ? ReactDOM.render(<App />, wrapper) : null;

Package.json ressemble à ceci:

module.exports = {
  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: /node_modules/,
        use: {
          loader: "babel-loader"
        }
      }
    ]
  }
};

.babelrc:

XXX

Je suis ce tutoriel: https://www.valentinog.com/blog/tutorial -api-django-rest-react / # Django_REST_with_React_requirements .

MODIFIER: Mon webpack.config.js:

{
    "presets": [
        "@babel/preset-env", "@babel/preset-react"
    ],
    "plugins": [
        "transform-class-properties"
    ]
}

App.js:

{
  "name": "django-drf-react-quickstart",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "dev": "webpack --mode development ./project/frontend/src/index.js --output ./project/frontend/static/frontend/main.js",
    "build": "webpack --mode production ./project/frontend/src/index.js --output ./project/frontend/static/frontend/main.js"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "@babel/core": "^7.3.3",
    "@babel/preset-env": "^7.3.1",
    "@babel/preset-react": "^7.0.0",
    "babel-loader": "^8.0.5",
    "babel-plugin-transform-class-properties": "^6.24.1",
    "prop-types": "^15.7.2",
    "react": "^16.8.2",
    "react-dom": "^16.8.2",
    "weak-key": "^1.0.1",
    "webpack": "^4.29.4",
    "webpack-cli": "^3.2.3"
  }
}

SOLUTION: Maintenant ça marche. J'ai joué avec certaines suggestions de @Reema Parakh dans les commentaires et j'ai obtenu une nouvelle erreur, alors j'ai appuyé sur CRTL-Z jusqu'à ce que tout soit revenu à la normale, et maintenant cela fonctionne. Je ne sais pas pourquoi maintenant.


2 commentaires

Dans votre fichier webpack.config.js , dans le tableau des règles, essayez d'ajouter ceci: query: {presets: ["@ babel / preset-env", "@ babel / preset-react" ]}


pouvez-vous montrer à quoi ressemble votre config webpack ?


3 Réponses :


-2
votes

Avec un chargeur approprié, vous devez essentiellement importer React dans ce fichier

import React from 'react'

De cette façon, il serait normal d'avoir le format jsx dans ce fichier De plus, votre extrait de code ne contient pas de DataProvider importé, donc je pense qu'il est également nécessaire d'importer dans ce fichier


0 commentaires

2
votes

Je suis tombé sur cette erreur, ce qui l'a corrigée pour moi a été de mettre .babelrc et webpack.config.js dans le même dossier que package.json < / code>. Je suivais le tutoriel et il était dit de les mettre dans le "dossier du projet" - dans ce cas, le dossier de niveau supérieur et non le dossier nommé projet !


0 commentaires

0
votes

Mettez votre webpack.config.js dans le même dossier que package.json et si cela ne résout pas le problème, supprimez node_modules < / code> et exécutez la commande npm install . Il réinstallera les node_modules et espère que cela résoudra votre problème.


0 commentaires