Javascript 为什么要使用nodemon start express服务器can';不显示反应组件?

Javascript 为什么要使用nodemon start express服务器can';不显示反应组件?,javascript,node.js,reactjs,express,Javascript,Node.js,Reactjs,Express,我有一个express应用程序,我执行npm run bundle来构建bundle.js并将文件放在views目录中。问题是,当我执行npm start时,它不能显示react组件,但当我仅通过浏览器打开index.html时,它可以正常工作,如何使用render react组件正确启动express server,以及这里发生了什么 app.js views/index.html webpack.config.js 发布你的网页配置我已经编辑并添加了网页配置 "use strict" imp

我有一个express应用程序,我执行
npm run bundle
来构建bundle.js并将文件放在views目录中。问题是,当我执行
npm start
时,它不能显示react组件,但当我仅通过浏览器打开index.html时,它可以正常工作,如何使用render react组件正确启动express server,以及这里发生了什么

app.js views/index.html webpack.config.js
发布你的网页配置我已经编辑并添加了网页配置
"use strict"
import path from 'path'
import express from 'express'
// routes
const app = express()
app.set('view engine', 'ejs');

app.get('/', function(req, res) {
  res.sendFile(path.join(__dirname, 'views/index.html'))
})

app.listen(process.env.PORT || 3000, function () {
  console.log('Example app listening on port 3000!')
})

export default app
<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
  </head>
  <body>
    <div id="app"></div>
    <script type="text/javascript" src="bundle.js" charset="utf-8"></script>
  </body>
</html>
import React from 'react'
import ReactDOM from 'react-dom'

class HelloMessage extends React.Component {
  render() {
    return <div>Hello {this.props.name}</div>;
  }
}

export default HelloMessage

ReactDOM.render(<HelloMessage name="Tsao" />, document.getElementById('app'))
  "scripts": {
    "test": "nyc mocha",
    "start": "nodemon app.js --exec babel-node",
    "coverage": "nyc report --reporter=text-lcov | coveralls",
    "bundle": "webpack",
    "build": "babel server --out-dir build && webpack",
    "dev": "webpack-dev-server --devtool eval --progress --colors --content-base views"
  }
module.exports = {
  entry: [
    './react/index.js',
  ],
  output: {
    path: `${__dirname}/views`,
    filename: 'bundle.js',
  },
  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: /(node_modules|bower_components)/,
        use: {
          loader: 'babel-loader',
          options: {
            presets: ['es2015','stage-3','react']
          }
        }
      }
    ]
  },
};