Запуск узла экспресс-сервера с использованием webpack-dev-server
Я использую webpack для успешного запуска моего интерфейса с использованием следующей конфигурации:
{
name: 'client',
entry: './scripts/main.js',
output: {
path: __dirname,
filename: 'bundle.js'
},
module: {
loaders: [
{
test: /.jsx?$/,
loader: 'babel-loader',
exclude: /node_modules/,
query:{
presets: ['es2015', 'react', 'stage-2']
}
}
]
}
}
Я пытаюсь также создать экспресс-сервер node.js и хотел бы запустить его через веб-пакет, чтобы у меня был один сервер, на котором выполнялись и бэкэнд, и внешний интерфейс, и потому что я хочу использовать babel для переноса. мой JavaScript
Я сделал быстрый тестовый сервер, похожий на этот:
var express = require('express');
console.log('test');
var app = express();
app.get('/', function(req, res){
res.send("Hello world from Express!!");
});
app.listen(3000, function(){
console.log('Example app listening on port 3000');
});
Если я запускаю это сnode index.js
и откройте мой браузер наlocalhost:3000
это печатает "Привет мир от Экспресса !!" Все идет нормально. Затем я попытался создать конфигурацию веб-пакета для него:
var fs = require('fs');
var nodeModules = {};
fs.readdirSync('node_modules')
.filter(function(x) {
return ['.bin'].indexOf(x) === -1;
})
.forEach(function(mod) {
nodeModules[mod] = 'commonjs ' + mod;
});
module.exports = [
{
name: 'server',
target: 'node',
entry: './index.js',
output: {
path: __dirname,
filename: 'bundle.js'
},
externals: nodeModules,
module: {
loaders: [
{
test: /\.js$/,
loaders: [
'babel-loader'
]
},
{
test: /\.json$/,
loader: 'json-loader'
}
]
}
}
Когда я запускаю командуwebpack-dev-server
он запускается успешно (кажется). Тем не менее, если я захожу в свой браузер наlocalhost:3000
теперь это просто говорит о том, что веб-страница недоступна, так же как когда сервер вообще не работает.
Я очень новичок и в ноде, и в вебпаке, так что либо я допустил небольшую ошибку, либо я уже далеко;)