2017-04-20 52 views
0

这是我的WebPack配置:如何渲染.ejs文件并在与jpack中的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}`); 
    }); 

当我的WebPack建立并运行它给我的错误。我没有看到index.ejs工作。我尝试了很多东西。没有任何工作。

是否可以运行输出文件并启动index.ejs?为它的HTML文件的作品。帮助将非常感谢!

回答

1

您设置视图引擎后,添加这一行,这应该做的伎俩..

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

显然,这是在一个的WebPack错误的结果和问题是already opened

+1

是的,我刚刚几秒钟才发现,并尝试了这项工作,它的工作原理。非常感谢你 :) –