我正在使用brunch构建单页Web应用程序。该应用程序与我想使用node.js / express编写的后端CRUD API进行对话。对我来说,自然的事情似乎是在我的应用程序的子目录中构建服务器,与app
并行。这样做的好处是可以将所有代码集中在一个屋檐下,这样我就可以通过brunch watch --server
启动所有代码。
我开始这样做然后我开始担心。如果我有通过npm install --save-dev some-server-dependency
安装的服务器端依赖项,这些依赖项是否嵌入到我的单页应用程序的javascript中?这似乎会不必要地增加我的应用程序的大小。如果没有发生这种情况,早午餐如何知道vendor.js
中包含哪些依赖项?
这导致了更一般的问题:在与客户端代码相同的项目中开发API是不好的做法吗?如果是,那么构建服务器端API是否有brunch
个等价物?
答案 0 :(得分:0)
这不是一种不好的做法,并且有Brunch骨架示例可以做同样的事情。您已经提到过,您将服务器端代码放在与app
不同的目录中,因此只要其他目录不在您的早午餐配置的paths.watched
中,那么您的后退-end代码不会包含在您的连接前端代码中。客户端和服务器应用之间的You can even have shared code,非常适合输入验证等。
在某些情况下,您最终可能希望将服务器端代码分解为单独的内容,但是如果/何时出现,您所描述的方法应该很容易实现。
要回答有关节点应用程序的早午餐等效项的最后一个问题,有几种工具会在您编辑nodemon,supervisor和{{3}等代码时自动重新启动节点进程}。由于Brunch不会为您处理此部分(未来版本可能会添加此功能),因此无论何时您正在主动攻击服务器端代码,您可能希望使用这些工具之一单独运行brunch watch
和服务器。 / p>