2
我想設置一個基本的Express應用程序與帕格使用Webpack。這是我的文件樹:使用帕格與NodeJS和Webpack
build
|-views
|-index.pug
|-app.js
|-app.js.map
server
|-app.js
package.json
webpack.config.js
app.js:
const express = require('express');
const app = express();
const path = require('path');
app.set('port', process.env.PORT || 3000);
app.set('view engine','pug');
app.set('views', path.join(__dirname + 'views'));
app.get('/',(req,res) => {
res.render('index');
});
var server = app.listen(app.get('port'),() => {
console.log('Express server is listening on port ' + server.address().port);
});
webpack.config.js:
const webpack = require('webpack');
const path = require('path');
const fs = require('fs');
let nodeModules = {};
fs.readdirSync('node_modules')
.filter((x) => {
return ['.bin'].indexOf(x) === -1;
})
.forEach((mod) => {
nodeModules[mod] = 'commonjs ' + mod;
});
module.exports = {
entry: './server/app.js',
target: 'node',
output: {
path: path.join(__dirname, 'build'),
filename: 'app.js'
},
externals: nodeModules,
plugins: [
new webpack.IgnorePlugin(/\.(css|less)$/),
new webpack.BannerPlugin({banner: 'require("source-map-support").install();', raw: true, entryOnly: false })
],
devtool: 'sourcemap'
}
是我遇到的問題是明確的應用程序可以」找到index.pug文件。當我啓動服務器,去爲localhost:3000我得到一個錯誤信息:
Error: Failed to lookup view "index" in views directory "\views"
我結束了'app.use('/',require('./ routes/main.js')使用'node:{__dirname:false,__filename:true} )); app.set('views',__dirname +'/ views');'謝謝! – SmellydogCoding