Nag*_*Nag 1 node.js express ember.js
我是前端+ 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/".
Run Code Online (Sandbox Code Playgroud)
当我在运行后加载项目时node bin/www
,我仍然只看到Express默认布局.关于如何组织我的项目我也有很多困惑,同时考虑到Express在自己的Views文件夹中使用Jade模板.我只是忽略那个文件夹吗?
我个人建议采取稍微不同的方法:在开发过程中看到你的ember应用程序更像是第三方客户端并在单独的文件夹结构中开发它,这样你就可以获得ember-cli的所有好处,而且你不会混搭在我看来,两个MVC文件夹结构很快就会变得混乱.
因此,您将拥有一个server
文件夹和一个单独的client
文件夹,然后您可以代理您的ember应用程序,或者将您自己的API视为第三方API.对于生产,您只需构建整个Ember应用程序并让您的API服务器为应用程序提供服务.
也不是直接表达我会推荐http://sailsjs.org/这是建立在快递之上,并提供了一个更好的文件夹结构,有点类似于余烬,也有它自己的cli.
这就是我们公司在生产中使用的东西,我还在sails和ember-cli之上创建了一个cli,我们在内部使用它们:https://github.com/artificialio/sane 这可能解释了文件夹结构一切都好一点.