11

我正在关注复数视线的视频教程。课程名称是“使用 React、Flux、Webpack 和 Firebase 构建实时应用程序”。

请参阅下面的代码和我遇到的问题的附加屏幕截图。每当我尝试重新构建文件时,Webpack 都会失败。有人可以告诉我这个问题可能是什么。我目前正在使用所有最新的库。

在此处输入图像描述 在此处输入图像描述

/*webpack.config.js*/

module.exports = {
entry: {
    main: [
        './src/main.js'
    ]
},
output: {
    filename: './public/[name].js'
},
module: {
    loaders: [
        {
            test: /\.jsx?$/,
            exclude: /node_modules/,
            loader: 'babel'
        }
    ]
}
}



  /*App.jsx*/
  import React from 'react';

 class App extends React.Component {
 constructor() {
    super();
    this.state = {
        messages: [
            'hi there how are you ?',
            'i am fine, how are you ?'
        ]
    }
}

render() {
    var messageNodes = this.state.messages.map((message)=> {
        return (
            <div>{message}</div>
        );
    });

    return (
        <div>{messageNodes}</div>
    );
 }
 }

 export default App;

/*main.js*/
import React from 'react';
import ReactDOM from 'react-dom';
import App from './components/App.jsx';

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

/*index.html*/
<!DOCTYPE html>
 <html>
  <head>
<title></title>
<meta charset="utf-8" />
</head>
<body>
<div id="container"></div>
<script src="public/main.js"></script>
</body>
</html>

/*package.json */

{
"name": "reatapp",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
 },
 "author": "",
"license": "ISC",
 "dependencies": {
"babel-core": "^6.1.2",
"babel-loader": "^6.0.1",
"babel-preset-react": "^6.1.2",
"babelify": "^7.2.0",
"react": "^0.14.2",
"react-dom": "^0.14.2",
"webpack": "^1.12.3"
 }
 }
4

3 回答 3

13

解决了。答案是安装预设npm i --save babel-preset-env babel-preset-react然后在webpack.config.js的 loader: 中添加另一个键query: {presets: ['env', 'react'] }。去应该不错。

于 2015-11-10T03:18:14.823 回答
0

我尝试了上述步骤并为此关注了许多博客和网站,但问题仍然存在。然后我发现我正在使用 webpack 4。所以,经过长时间的搜索,我发现了博客:
https://medium。 freecodecamp.org/part-1-react-app-from-scratch-using-webpack-4-562b1d231e75
所以,我按照步骤,发现问题仍然存在。然后,经过长时间的搜索,我发现我的node_modules文件夹中没有react文件夹。然后我按照以下步骤操作:

  1. 删除 package.lock.json 文件。
  2. 运行 npm 安装。
  3. 检查 node_modules 文件夹,您现在将看到 react 文件夹。
  4. 运行 npm start。然后,我的问题得到了纠正。
于 2018-03-31T14:57:58.023 回答
0

您可以尝试执行以下命令:npm rebuild node-sass

于 2020-09-10T17:04:25.110 回答