首页 > 解决方案 > 运行 webpack 后让 React 出现

问题描述

当我运行npm run webpack所有加载时都没有问题,除了我无法看到创建的 React 代码。去的时候localhost:3000,它说它不存在,如果我去 html 路径,它仍然继续不显示 jsx。

包.json

{
  "name": "frontend",
  "version": "1.0.0",
  "description": "",
  "main": "app.jsx",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "deploy": "webpack --mode production",
    "watch": "webpack --mode development --watch"
  },
  "dependencies": {
    "react": "^16.8.6",
    "react-dom": "^16.8.6"
  },
  "devDependencies": {
    "@babel/core": "^7.5.4",
    "@babel/preset-env": "^7.5.4",
    "@babel/preset-react": "^7.0.0",
    "babel-loader": "^8.0.6",
    "webpack": "4.35.3",
    "webpack-cli": "^3.3.5",
    "html-webpack-plugin": "^3.2.0"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}

webpack.config.js

module.exports = (env, options) => ({
    entry: {
        app: "./assets/js/app.jsx"
      },
  output: {
    filename: 'bundle.js',
    path: path.resolve(__dirname, './dist')
  },
  module: {
    rules: [
      {
        test: /\.(js|jsx)$/,
        exclude: /node_modules/,
        use: {
          loader: 'babel-loader'
        }
      }
    ]
  }
});

babel.config.js

module.exports = function (api) {
    api.cache(true);

    const presets = [
      '@babel/preset-env',
      '@babel/preset-react',
    ]
    const plugins = [
    ]

    return {
      presets,
      plugins
    };
  }

应用程序.jsx

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

const App = ({ title }) =>
  <div>{title}</div>

const title = "Hello World!"

document.addEventListener("DOMContentLoaded", () => {
    ReactDOM.render(
        <App title={title} />,
        document.getElementById('root')
    )
});

标签: reactjswebpack

解决方案


尝试这个 - -

const App = (props) => {
  <div>{props.title}</div>
}

const title = "hello World";

ReactDOM.render(<App title={title}/> , document.getElementById('root'));

推荐阅读