2017-07-28 65 views
0

當我運行以下腳本npm run dev localhost輸出是當前文件結構。相反,我需要它來呈現歡迎組件。我試圖找出根本原因,無論是webpack.config.js,工程建築等,這裏是我webpack.config.js文件LocalHost8080錯誤頁面

var webpack = require('webpack'); 
var path = require('path'); 
var ExtractTextPLugin = require("extract-text-webpack-plugin"); 

module.exports = { 
context: path.join(__dirname, "src"), 
entry: "./main.js", 
module: { 
loaders: [ 
    { 
    test: /\.jsx?$/, 
    exclude: /node_modules/, 
    loader: 'babel-loader', 
    query: { 
     presets: ['react', 'es2015'] 
    } 
    }, 
    { 
    test: /\.scss$/, 
    use: ExtractTextPLugin.extract({ 
     fallback: 'style-loader', 
     use:['css-loader', 'sass-loader'], 
     publicPath: './dist' 
    }) 
    } 
] 
}, 
output: { 
path: path.resolve(__dirname, "./dist"), 
filename: "[name].bundle.js", 
}, 
devServer: { 
    contentBase: path.join(__dirname, "./dist"), 
    hot: true, 
    inline: true, 
}, 
plugins:[ 
    new webpack.HotModuleReplacementPlugin() 
] 
}; 

的package.json開發「的WebPack-DEV-服務器--inline --content基DIST/--hot」

項目架構 project

Main.js

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



import Welcome from "./components/Welcome"; 

const app = document.getElementById('app'); 

ReactDOM.render(<Welcome/>, app); 

Welcome.js

import React from "react"; 

export default class Welcome extends React.Component { 
render() { 
return (
    <div> 
    <h4>Welcome Component</h4> 
    </div> 
); 
} 
} 

main.html中

<!DOCTYPE html> 
<html> 
    <head> 
    <meta charset="utf-8"> 
    <title>React App</title> 
    </head> 

    <body> 
    <div id="app"></div> 
    <script src="main.bundle.js"></script> 
    </body> 
</html> 

本地主機輸出 localhost:8080

終端

+0

你可以在你的main.html中包含什麼嗎? –

+0

你沒有在你的main.html中包含你的包文件? –

+0

也可以包含你的server.js(我假設你使用的是快速服務器)。 –

回答

0

嘗試添加publicPath: '/dist/',在你的devServer對象的WebPack配置或更換main.html中來根目錄。

0

經過進一步的審查,我決定使用基於Chris Cousins的觀察結果的webpack中間件來更新我的配置。我將express.js和server.js文件添加到項目中。謝謝!