【问题标题】:Module Build Failed - Webpack, React, Babel模块构建失败 - Webpack、React、Babel
【发布时间】:2016-02-10 20:25:24
【问题描述】:

我正在关注复数视野的视频教程。课程名称是“使用 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"
 }
 }

【问题讨论】:

  • 可能是output: { filename: ./public/[name].js}。尝试为路径添加另一个键:path: './public'。但我也看到你的主要是main.js,同时你的代码在app.jsx。你import App from './components/app.jsx';了吗?
  • @LeoCreatini 是什么让您认为这是问题所在。这个问题是在我添加 React 代码后开始的。请参阅我的文件目录的附加屏幕截图
  • 我还看到render()return (); 中缺少分号,this.state = {} 中缺少分号
  • 是的,我没有看到滚动条,main.js 被隐藏了。
  • 刚刚在返回类型上添加了分号。还是同样的问题。

标签: javascript reactjs webpack babeljs ecmascript-2016


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    我尝试了上述步骤并为此关注了许多博客和网站,但问题仍然存在。然后我发现我正在使用 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 install。
    3. 检查 node_modules 文件夹,您现在将看到 react 文件夹。
    4. 运行 npm start。 然后,我的问题得到了纠正。

    【讨论】:

      【解决方案3】:

      你可以试试执行这个命令:npm rebuild node-sass

      【讨论】:

        猜你喜欢
        • 2017-10-07
        • 2017-09-15
        • 2019-02-07
        • 2017-11-28
        • 1970-01-01
        • 1970-01-01
        • 2017-04-15
        • 2016-02-22
        • 1970-01-01
        相关资源
        最近更新 更多