简体   繁体   English

无法使用Webpack,Babel加载React和ReactDOM

[英]React and ReactDOM not loading using webpack, babel

I am setting up a React project using webpack and babel, but I am getting the error that React and ReactDOM can't be resolved. 我正在使用webpack和babel设置一个React项目,但出现了无法解决React和ReactDOM的错误

Is the problem is with the version of Webpack or Babel? 问题出在Webpack或Babel的版本上吗?

PS C:\Users\abhi\Desktop\mern-app> npm run webpack

> mern-app@1.0.0 webpack C:\Users\abhi\Desktop\mern-app
> webpack

ERROR in ./app.js
Module not found: Error: Can't resolve 'react' in 'C:\Users\abhi\Desktop\mern-app'
 @ ./app.js 5:13-29

ERROR in ./app.js
Module not found: Error: Can't resolve 'react-dom' in 'C:\Users\abhi\Desktop\mern-app'
 @ ./app.js 9:16-36
npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR! mern-app@1.0.0 webpack: `webpack`
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the mern-app@1.0.0 webpack script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\abhi\AppData\Roaming\npm-cache\_logs\2018-04-21T14_25_50_508Z-debug.log

the configs and files are as belows 配置和文件如下

package.json 的package.json

{
  "name": "mern-app",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "webpack": "webpack"
  },
  "author": "Abhishek Kulshrestha",
  "license": "ISC",
  "dependencies": {
    "npm": "^5.8.0",
    "react": "^16.3.2",
    "react-dom": "^16.3.2"
  },
  "devDependencies": {
    "babel-core": "^6.26.0",
    "babel-loader": "^7.1.4",
    "babel-preset-env": "^1.6.1",
    "babel-preset-es2015": "^6.24.1",
    "babel-preset-react": "^6.24.1",
    "webpack": "^4.6.0",
    "webpack-cli": "^2.0.15"
  }
}

webpack.config.js webpack.config.js

var path = require('path');

var webpack = require('webpack');

module.exports ={
    entry:'./app.js',
    output:{
        filename:'bundle.js',
        path:__dirname
    },
    resolve:{
        extensions:['.js']
    },
    module:{
        rules:[{
            test:/.jsx?$/,
            use:{
                loader:'babel-loader',
                options:{
                    presets: ['env',
                                'react']
                 }
            },
            exclude:/.node_modules/

        }]
    }

}

app.js app.js

import React from 'react';
import ReactDOM from 'react-dom';

class App extends React.Component{
    render(){
        return '<h1>Hello </h1>'
    }
}

ReactDOM.render(<App/>,document.getElementById('app'));

All files (package.json,webpack.config.js,app.js,index.html) are in same main folder 所有文件(package.json,webpack.config.js,app.js,index.html)都位于同一主文件夹中

Please Help 请帮忙

This code looks fine to me. 这段代码对我来说很好。 I think you have missed the dependency installation step before running webpack command. 我认为您在运行webpack命令之前错过了依赖项安装步骤。

Please try and follow the below steps in order and see if it resolves the error. 请按顺序尝试并按照以下步骤操作,看看它是否可以解决错误。

  1. Run npm install inside the directory this will make sure all the dependencies you have mentioned in package.json are downloaded to node_modules directory. 在目录中运行npm install ,这将确保您在package.json中提到的所有依赖项都下载到node_modules目录中。
  2. Then run npm run webpack to generate the bundle.js 然后运行npm run webpack生成bundle.js

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM