使用 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 serve
的 proxy
选项。例如。 ember serve --proxy http://127.0.0.1:3000
。这将在端口 4200 启动 ember 开发服务器(在文件更改时提供实时重新加载)并将 api 请求转发到 127.0.0.1
上的端口 3000
。
如果这对您来说还不够(仅谈论 开发 环境),您总是可以 运行 一个提供魔法的 nginx 代理...
如果不是从 webroot 服务,请不要忘记调整 ember 应用的 rootURL
configuration。
我想使用 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 serve
的 proxy
选项。例如。 ember serve --proxy http://127.0.0.1:3000
。这将在端口 4200 启动 ember 开发服务器(在文件更改时提供实时重新加载)并将 api 请求转发到 127.0.0.1
上的端口 3000
。
如果这对您来说还不够(仅谈论 开发 环境),您总是可以 运行 一个提供魔法的 nginx 代理...
如果不是从 webroot 服务,请不要忘记调整 ember 应用的 rootURL
configuration。