Webpack 已成功编译但未在浏览器中显示输出

V.S*_*ock 5 jsx reactjs webpack webpack-dev-server

我的项目中的 webpack 运行成功,但是当我到达所需的端口时,它会显示目录文件。您可以查看相同的图像。

在此输入图像描述

我的 webpack.config.js

const path = require('path');

module.exports = {
  entry: './app/main.js',
  output: {
    path: path.resolve(__dirname, 'dist'),
    filename: 'bundle.js'
  },
  devServer: {
    inline: true,
    port: 8100
  },
  module: {
    loaders: [
      {
        test: /\.js$/,
        exclude: /node_modules/,
        loader: 'babel-loader'
      }
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

包.json

{
  "name": "react_router",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "webpack-dev-server"
  },
  "author": "vinay",
  "license": "ISC",
  "dependencies": {
    "react": "^15.5.4",
    "react-dom": "^15.5.4",
    "react-router": "^2.0.1"
  },
  "devDependencies": {
    "babel-core": "^6.25.0",
    "babel-loader": "^7.0.0",
    "babel-preset-es2015": "^6.24.1",
    "babel-preset-react": "^6.24.1",
    "webpack": "^2.6.1",
    "webpack-dev-server": "^2.4.5"
  }
}
Run Code Online (Sandbox Code Playgroud)

main.js

import React from 'react'
import ReactDOM from 'react-dom'
import App from './app'
ReactDOM.render(<App />, document.getElementById('root'));
Run Code Online (Sandbox Code Playgroud)

应用程序.js

import React, {Component} from 'react';
import {Router, Route, Link, IndexRoute, hashHistory, browserHistory} from 'react-router';

const App = () => <h1>Hello World</h1>

export default App
Run Code Online (Sandbox Code Playgroud)

输出==>

在此输入图像描述

任何帮助,将不胜感激。

小智 1

编辑后的答案:我能够让它工作:

1) 在根文件夹下创建实际的 dist 目录 2) 让 webpack.config.js 中的输出如下所示:

output: {
  path: path.resolve(__dirname, 'dist'),
  filename: 'bundle.js',
  publicPath: '/dist/'
},
Run Code Online (Sandbox Code Playgroud)

它会告诉 webpack 从哪里为您的应用程序提供服务。

3)将以下脚本添加到您的package.json中

    "build": "webpack -p"
Run Code Online (Sandbox Code Playgroud)

它将构建bundle.js文件

另外,您的 dist 目录中还需要一个 index.html 文件,如下所示:

<!DOCTYPE html>
  <html lang="en">
    <head>
     <meta charset="UTF-8">  
     <title>Application<title>
   </head>
   <body>
     <div id="app"></div>
     <script src="bundle.js"></script>
   </body>
</html>
Run Code Online (Sandbox Code Playgroud)

然后,运行构建脚本,然后可以运行 webpack 服务器,它应该可以工作