0

更新現在の問題に動作していない:WebPACKのときに私、それはusual.butとして構築することができます。のWebPACK-devのサーバーが

を私は、次のCMDを実行したときので、WebPACKのホットローダーがうまくいかないようです"dev": "webpack-dev-server --color --hot --progress & & node ./server.js"".webpackは私のためにビルドされたファイルを生成できません。次のように

私webpack.configがある:

module.exports = { 
    entry: getEntries(), 

..... 

function getEntries(){ 
var routeDir = path.join(SRC_DIR,"javascripts","routes"); 
var routeNames = routeDir?fs.readdirSync(routeDir):[]; 

var nameMaps = {}; 
routeNames.forEach(function(routeName){ 
    var filename = routeName.match(/(.+)\.js$/)[1]; 
    console.log("filename in entry ",filename); 
    if(filename){ 
     var devEntryPath = [ 
      'webpack-dev-server/client?http://127.0.0.1:3001', // WebpackDevServer host and port 
      'webpack/hot/only-dev-server', 
      path.join(routeDir,filename) 
     ]; 
     nameMaps[filename] = devEntryPath; 

    } 
}); 
return nameMaps; 
} 

server.js

var server = new WebpackDevServer(webpack(config), { 
    publicPath: config.output.publicPath, 
    hot: true, 
    historyApiFallback: true 
}).listen(3001,'localhost',function(err,result){ 
    if(err) console.log(err); 
    console.log("webpack listening at port 3001"); 
}); 
var app = express(); 


app.get("/monitor/index",function(req,res){ 
    res.sendFile(__dirname+"/src/views/"+"page1.html"); 
}); 
app.get("/monitor/category/*",function(req,res){ 
    res.sendFile(__dirname+"/src/views/"+"page2.html"); 
}); 

app.use(express.static(__dirname)) 
     .listen(9090, 'localhost', function (err, result) { 
       if (err) console.log(err); 
       console.log('Listening at localhost:9090'); 
}); 
+0

あなたのコードの変更が正しく反映されていないような問題が起きているようです。フルページをリフレッシュしてみましたか?新しいjsxを追加するとどうなりますか?これは要素インスペクタに反映されていますか?また、どのバージョンの反応を使用していますか? – Marty

+0

あなたのプロジェクトの中でコンパイルセットアップがありますか? .scssファイルをインクルードするだけでは、あなたのためにそれをコンパイルするための反応が期待できません! – James111

+0

@James、私はWebPACKのを使用し、ローダー{ \t \t \t \tテストを追加します。/ \ SCSS $ /、 \t \t \t \tローダー:[ 'スタイル'、 'C​​SS'、 'SASS']、 \t \t \tを\t // loader: "style!css!sass" \t \t \t}そして、ターミナル – lizlalala

答えて

0

最後に、私は、問題がどこにあるか見つけ、およびWebPACKの-devの間の関係を知っています-serverと私の高速サーバー。

webpack-dev-serverでホットローダーを使用する場合: step1:webpackは、webpack.config.jsの "output"で指定されたpublicPathへの入力ファイルを作成します。 step2、ノードサーバーはhtmlを前面に送り、関連する資産(js、imgなど)を検索しますが、どこで? (htmlに関連する)スクリプトをwebpack-dev-serverに変更することができます(step1によって生成されたばかりです)。したがって、node-serverはwebpack-dev-serverにヘルプを求めます。 webpackDevServer

  • WebPACKの出力(publicPath)の

    • publicPath、HTMLで
    • 上記スクリプトパスに等しい: iは3箇所を変更し、合計します。

    これがすべてです。今、私のプロジェクトは期待通りに動作します。

  • 関連する問題