将webpack应用于全栈节点应用程序的最合理方法是什么?

时间:2015-06-06 19:03:14

标签: express webpack webpack-dev-server

我已经在webpack上学习了几个星期了,我已经看过许多前端设置的例子,可能只是this one setup for a backend

我正在尝试设置一个带有节点后端的反应应用程序(例如express,koa,hapi等),其中我需要至少一个后端的转换步骤(例如babel,coffeescript等) ,我认为使用webpack来保持一致性与在混合中添加另一种构建机制(例如gulp,grunt等)会很好。

如果我可以对后端进行更改并让服务器自动重启(观看样式),那也很棒。

我想知道最好的方法是使用自己的package.json和webpack.config文件基本上有两个不同的项目设置。也许将后端一个嵌套在顶级项目文件夹的server文件夹下,并使用顶级package.json文件中的一个或多个脚本指令来控制这两个。

我想我可能需要将一台服务器代理到另一台服务器以避免CORS问题。

寻找那些比我测试的更多webpack战斗的任何指导,以获得不错的设置。

的问候, 贝。

1 个答案:

答案 0 :(得分:14)

最简单的方法是将其分为两个任务:一个输出到文件夹的构建步骤(例如'服务器'),然后观察输出文件夹中的更改并重新启动服务器任务。

1。构建任务

这可以和客户端构建代码在同一个webpack.config中 - 您可以导出一个数组,webpack将会监视所有这些代码。 示例webpack.config.js(上半部分用于服务器)

module.exports = [
{
  name: 'server code, output to ./server',
  entry: './index.js',
  output: {
    filename: './server/index.js'
  },
  target: 'node'
},
{
  name: 'client side, output to ./public',
  entry: './app.js',
  output: {
    filename: './public/app.js'
  }
}
];

2.Watch Step

对于观察步骤,nodemon监视更改并重新启动。否则,您可以使用fs.watchnode-watch等内容手动向您的server.js添加监视任务。