2016-12-26 69 views
0

我正在嘗試使用webpack構建一個響應項目,但由於webpack.config.js中的某些錯誤或問題而未創建bundle.js。應用程序目錄如下所示。
應用目錄結構
=>公共
        --scripts
                --client
                      --client.js
                --component
                      --App.js
        --index.html
=>服務器
          --server.js
=> webpack.config.js

捆綁js不是由webpack創建的

現在,下面是代碼:

webpack.config.js

var webpack=require('webpack'); 
 
var pathresolver=require('path'); 
 

 
var BUILD_DIR=pathresolver.resolve(__dirname,'./public/scripts/client'); 
 
var APP_DIR=pathresolver.resolve(__dirname,'./public/dist'); 
 

 
module.exports={ 
 
    devtool:'inline-source-maps', 
 
    entry: [ 
 
     'webpack-hot-middleware/client', 
 
     BUILD_DIR+'/client.js' 
 
    ], 
 
    output:{ 
 
     path:APP_DIR, 
 
     filename:'bundle.js', 
 
     publicPath:'/' 
 
    }, 
 
    plugins:[ 
 
     new webpack.optimize.OccurrenceOrderPlugin(), 
 
     new webpack.HotModuleReplacementPlugin(), 
 
     new webpack.NoErrorsPlugin()  
 
    ], 
 
    module:{ 
 
     loaders:[ 
 
      { 
 
       test:/\.js$/, 
 
       loader:'babel-loader', 
 
       exclude:/node_modules/, 
 
       query:{ 
 
        presets:['react','es2015','react-hmre'] 
 
       } 
 

 
      } 
 
     ] 
 
    } 
 
}


Server.js

var express= require('express'); 
 
var path=require('path'); 
 

 
var app=express(); 
 

 

 
//Get webapck details 
 
var webpackconfig=require('../webpack.config.js'); 
 
var webpack=require('webpack'); 
 
var webpackDevMiddleware=require('webpack-dev-middleware'); 
 
var webpackHotMiddleware=require('webpack-hot-middleware'); 
 

 

 
var webpackcompiler=webpack(webpackconfig); 
 

 
//Use middlewares 
 
app.use(webpackDevMiddleware(webpackcompiler,{ 
 
    noInfo:true, 
 
    publicPath:webpackconfig.output.publicPath 
 
})); 
 

 
app.use(webpackHotMiddleware(webpackcompiler)); 
 

 
app.use(express.static('../public')); 
 

 

 

 
var filename = path.resolve(__dirname,'..','public','index.html'); 
 

 
app.use('/', function (req, res) { 
 
    res.sendFile(filename); 
 
}); 
 

 

 
var port=3000; 
 
app.listen(port,function(error){ 
 
    if(error) throw err; 
 
    console.log("Server is running at port no "+port); 
 
})


組件/ App.js

import React,{Component} from 'react'; 
 
import {render} from 'react-dom'; 
 

 

 

 
class App extends Component{ 
 
    render(){ 
 
     return(
 
      <div>Hello My name is Jalak Vora</div> 
 
     )  
 
    } 
 
} 
 

 
export default App


Client.js

import React from 'react'; 
 
import {render} from 'react-dom'; 
 
import App from '../component/App.js'; 
 

 

 

 
render(<App/>,document.getElementById(
 
    "app") 
 
) 
 


指數。HTML

<!DOCTYPE html> 
 
<html> 
 
<head> 
 
     <title>Sound Wave</title> 
 
</head> 
 

 
<body> 
 
    <div id="app"></div> 
 
    <script type="text/babel" src="dist/bundle.js"></script> 
 
</body> 
 
</html>


我很天真,但我認爲這個問題是的WebPack不能找到合適的directory.Let我知道什麼可以做的。

+0

嘗試使用'webpack'運行編譯器,以防萬一您的錯誤被吞噬 –

+0

使用「webpack」運行時不會顯示任何錯誤。 Neverthless,我發現錯誤,它在server.js中的目錄路由。問題已解決。 –

回答

0

我認爲這是由於在腳本中缺少一些鍵值對對象的package.json文件。