使用 Express 和 Ember 启动 Web 应用程序

Starting a web application using Express and Ember

我想使用 Node.js(使用 Express)和 Ember.js 编写一个简单的 CMS。我对 Ember.js 完全陌生,但对 Angular 很熟悉。我看到 Ember.js 非常接近 Angular,因为它使用带有 "ember serve" 命令的 CLI 到 运行 客户端应用程序。但是在 Node.js 中,我还必须使用 "npm start" 启动服务器。与任何 CMS 一样,有一个 "public" 部分(站点页面)由 Express 使用 Handlebars 提供服务,还有一个 "admin" 部分(保留区域,带有管理页面)是在 [=21 中编写的网络应用程序=].有没有办法让客户端和服务器路由都来自单个基本域和端口(即管理页面的 http://localhost:3000/ for public pages and http://localhost:3000/admin/)?有没有一种方法可以用一条命令启动整个项目,而不是为服务器键入 "npm start" 为客户端键入 "ember serve"?也许唯一的方法是使用 Fastboot 在服务器端呈现 Ember.js 模板?我对开发这样的网络应用程序感到很困惑。

ember serve 正在启动 开发 服务器。你不应该 运行 这在生产中。只需使用 ember build --prod 构建应用程序并根据需要提供服务。

要将请求转发给开发中的 api,请使用 ember serveproxy 选项。例如。 ember serve --proxy http://127.0.0.1:3000。这将在端口 4200 启动 ember 开发服务器(在文件更改时提供实时重新加载)并将 api 请求转发到 127.0.0.1 上的端口 3000

如果这对您来说还不够(仅谈论 开发 环境),您总是可以 运行 一个提供魔法的 nginx 代理...

如果不是从 webroot 服务,请不要忘记调整 ember 应用的 rootURL configuration