我想使用Node.js(使用Express)和Ember.js编写一个简单的CMS。我对Ember.js完全不熟悉,但我对Angular很熟悉。我看到Ember.js非常接近Angular,因为它使用了一个带有" ember serve"命令来运行客户端应用程序。但是在Node.js中我还必须使用" npm start"来启动服务器。与任何CMS一样,有一个" public" Express使用Handlebars和" admin"提供的部分(网站页面)部分(保留区域,带有管理页面),它是在Ember.js中编写的Web应用程序。有没有办法从单个基本域和端口同时拥有客户端和服务器路由(即公共页面为http://localhost:3000/,管理页面为http://localhost:3000/admin/?有一种方法可以用一个命令启动整个项目,而不是键入" npm start"对于服务器和" ember serve"对于客户?也许唯一的方法是使用Fastboot渲染Ember.js模板服务器端?我对这样的网络应用程序的开发感到非常困惑。
答案 0 :(得分:0)
ember serve
正在启动开发服务器。你不应该在生产中运行它。只需使用ember build --prod
构建应用程序,然后根据需要提供。
要在开发中将请求转发给您的api,请使用proxy
的{{1}}选项。例如。 ember serve
。这将在端口4200启动ember开发服务器(在文件更改时提供实时重新加载),并将api请求转发到ember serve --proxy http://127.0.0.1:3000
上的端口3000
。
如果这对你来说还不够(仅谈论开发环境),你总是可以运行一个nginx代理来提供这种魔力......
如果没有从webroot提供服务,请不要忘记调整您的余烬应用的rootURL
configuration。