我是前端+ PHP开发人员,他对Node + Express和Ember JS都不熟悉。我习惯了像CodeIgniter这样的MVC框架。我很了解CodeIgniter的文件夹结构(在哪里放置我的视图,CSS,控制器等),但我很难理解如何组织我的Node + Express + Ember应用程序。我想了解如何构建应用程序。
我只是将使用Ember CLI创建的应用程序转储到Node + Express应用程序的公共文件夹中。这是正确的方法吗?此外,这似乎导致了Ember Build的错误。
Nagarjuns-MacBook-Pro:public nagarjun$ ember build
version: 0.0.40
Building
app/app.js: line 1, col 1, 'import' is only available in ES6 (use esnext option).
app/app.js: line 2, col 1, 'import' is only available in ES6 (use esnext option).
app/app.js: line 3, col 1, 'import' is only available in ES6 (use esnext option).
app/app.js: line 14, col 1, 'export' is only available in ES6 (use esnext option).
4 errors
app/router.js: line 1, col 1, 'import' is only available in ES6 (use esnext option).
app/router.js: line 11, col 1, 'export' is only available in ES6 (use esnext option).
2 errors
app/routes/sign-in.js: line 1, col 1, 'import' is only available in ES6 (use esnext option).
app/routes/sign-in.js: line 3, col 1, 'export' is only available in ES6 (use esnext option).
2 errors
===== 3 JSHint Errors
Built project successfully. Stored in "dist/".
运行node bin/www
后加载项目时,我仍然只看到Express默认布局。关于如何组织我的项目我也有很多困惑,同时考虑到Express在自己的Views文件夹中使用Jade模板。我只是忽略那个文件夹吗?
答案 0 :(得分:9)
我个人建议采取稍微不同的方法:在开发过程中看到你的ember应用程序更像是第三方客户端并在单独的文件夹结构中开发它,这样你就可以获得ember-cli的所有好处,而且你不会# 39; t mash up两个MVC文件夹结构,在我看来很快就会变得混乱。
因此,您将拥有一个server
文件夹和一个单独的client
文件夹,然后您可以代理您的ember应用,或将您自己的API视为第三方API。对于生产,您只需构建整个Ember应用程序,并让您的API服务器为应用程序提供服务。
此外,我建议http://sailsjs.org/而不是直接表达,它建立在快递之上,并提供更好的文件夹结构,有点类似于余烬,并且还拥有它自己的cli。
这就是我们公司在生产中使用的内容,我还在sails和ember-cli之上创建了一个cli,我们在内部使用它:https://github.com/artificialio/sane 这可能会解释文件夹结构和一切更好。