2017-04-20 12 views
0

これは私のWebPACKの設定です:私はWebPACKのでそれを構築し、それは私にエラーを与えて実行するとノードjsで.ejsファイルをレンダリングしてwebpackにバンドルした後で表示する方法は?

{ 
    entry: './app.js', 
    output: { 
     path: path.resolve(__dirname, 'dist'), 
     filename: "bundle.js" 
    }, 
    module: { 
     rules: [ 
     { 
      test: /\.js$/, 
      exclude: /(node_modules)/, 
      use: { 
      loader: 'babel-loader', 
      options: { 
       presets: ['env', 'es2015', 'stage-2'] 
      } 
      } 
     } 
     ] 
    }, 
    plugins: [ 
     new HtmlWebpackPlugin({ 
     template: './views/index.ejs', 
     hash: true, 
     }) 
    ], 
    node: { 
     __dirname: false 
    }, 
    target: 'node' 
}); 

これは

const express = require('express'); 
    const app = express(); 
    const path = require('path'); 
    const port = process.env.PORT || 3000; 
    app.use(express.static(path.join(__dirname, '..', 'public'))); 

    app.set('views', path.join(__dirname, '..', 'views')); 

    app.set('view engine', 'ejs'); 

    app.get('/', (req, res) => { 
     res.render('index'); 
    }); 

    app.listen(port,()=>{ 
     console.log(`Live on ${port}`); 
    }); 

私のサーバーコードです。私はindex.ejsが動作するのを見ていない。私は多くのことを試しました。何も働いていません。

出力ファイルを実行することは可能ですか?それによってindex.ejsが起動しますか? htmlファイルの場合は動作します。助けていただければ幸いです!

答えて

1

あなたのビューエンジンを設定した後、これはトリックを行う必要があり、この行を追加します。..

app.set("view engine", "ejs"); 
app.engine('.ejs', ejs); // <-- this one 

どうやら、それはWebPACKのバグの結果だと問題がalready openedました。

+1

はい私はちょうど数秒前にこれを見つけて、この問題を回避しようとしました。どうもありがとうございました :) –

関連する問題