我将尝试第一个AngularJS项目,并且在后端使用Node.js是有意义的,尽管这意味着同时从头开始学习AngularJS和Node.js。
我想要弄清楚的第一件事是一个好的文件结构。到目前为止,我的纯HTML / CSS模板具有以下目录结构…
_site/
Fonts/
Javascript/
SASS/
Stylesheets/
Index.html
(_site是PSD等的工作目录。)
我发现一个Node.js的一个例子的目录结构/ AngularJS应用程式这里 ....
…表示以下目录结构。
app.js --> Application configuration
package.json --> For npm
public/ --> All of the files to be used in on the client side
css/ --> CSS files
app.css --> Default stylesheet
img/ --> Image files
js/ --> JavaScript files
app.js --> Declare top-level application module
controllers.js --> Application controllers
directives.js --> Custom AngularJS directives
filters.js --> Custom AngularJS filters
services.js --> Custom AngularJS services
lib/ --> AngularJS and third-party JavaScript libraries
angular/
angular.js --> The latest AngularJS
angular.min.js --> The latest minified AngularJS
angular-*.js --> AngularJS add-on modules
version.txt --> Version number
routes/
api.js --> Route for serving JSON
index.js --> Route for serving HTML pages and partials
views/
index.jade --> Main page for the application
layout.jade --> Doctype, title, head boilerplate
partials/ --> AngularJS view partials (partial jade templates)
partial1.jade
partial2.jade
因此,这对我来说看起来不错(除了我不会使用Jade的事实)。
我仍然有以下问题…
我想将所有前端文件和后端文件分开。该解决方案将所有前端文件放在public /目录中,这是有意义的,因为大多数情况下需要将其公开,但是将SASS和_site文件夹放在这里有意义吗?我可以将它们保留在那里,但是当我将它们投入生产时不能上传它们,但这似乎是错误的,因为它们不应该公开。它们也不是根源于所有后端的东西。
从CDN加载AngularJS会更好吗?
假设服务器只需要交付一个模板(主应用程序模板),而所有其他HTML都将在前端构建,那么保持index.html文件静态,删除views文件夹和像原始的AngularJS Seed应用程序一样,在public /下创建一个partials /文件夹?
我意识到这只是一个见解,我可以从技术上将它们放置在我想要的任何地方,但是我希望比我更有经验的人可以告诉我各种目录结构的陷阱。
1)通常,使saas/less
文件公开确实有意义,因为您可能希望在调试时使用客户端的less->
css转换(less.js这样做)。_site
但是,不确定包含的内容 (顺便说一句,您应该为项目使用小写文件夹,尤其是对于公共内容) 。
2)通常,在生产过程中从Google CDN加载AngularJS是一个好习惯,仅使用本地版本进行开发,根据您的环境,您可以有两个单独的布局。
3)即使要进行客户端渲染,也可以保留服务器端布局/视图的渲染,但在某些时候(管理员访问权限,电子邮件渲染等),您可能仍需要它。但是,partials
在公用文件夹中使用AngularJS
的名称可能会有所帮助,以避免服务器端views
和客户端之间的混淆partials
。
您应该清楚地选择当前看来最合乎逻辑的方法,随着对Express的熟悉,您可能会四处移动。
您应该检查现有的快速框架,以了解它们如何构建其应用程序。例如,TowerJS有一个非常干净的config
文件夹,但是它们混合了我个人不喜欢的服务器端和客户端代码。
检查一下NodeJS MVC框架的比较,看看其他人如何做。但是,我显然将从香草表达代码开始,以便完全控制并了解事情如何工作,然后再对这些框架中的任何一个进行过度承诺。
问题内容: 说我有这段代码来分隔expressjs中的路由: 并要求在: 1)如何以最佳方式将数据库查询分为新文件? 即使我分开数据库逻辑,该文件也会变得很大。 2)什么是分隔路线的好方法?也许是单独的模块?然后要求他们都参加? 问题答案: 这里有一个类似的问题,您应该阅读:如何构建express.js应用程序? 1)您所有的查询逻辑都应放在模型中(例如,位于/ models中的模块) 2)将您的
问题内容: 我最近开始建立一个大型的社交网络,我以为自己的结构很好,但事实证明我建立的逻辑很差。 我将自己的观点与AngularJS(不好的主意)混合在一起,跳过了刀片扩展,但是由于我使用了很多块和侧边栏,所以这变得很痛苦。 目前,我只是使用angular处理表单验证,但实际上我的所有网站页面都需要ajax,数据提取等功能。 我在网上搜索时,发现角度视图存储在公用文件夹中,但是由于我的所有页面都将
一个普通的应用程序由以下文件组成: 二进制文件 这个安装在 /usr/bin。 一个桌面文件 这个桌面文件向shell提供关于这个程序的重要信息,例如名称、图标、D-Bus名称,启动的命令行。安装在 /usr/share/applications. 一个图标 这个图标安装在 /usr/share/icons/hicolor/48x48/apps, 无论当前背景是什么系统都会到这里查找图标。 一个设
问题内容: 在一个大型AngularJS应用程序上,所有我的控制器都放在一个“ controllers.js”文件中,这对我来说似乎难以维护。有没有更好的方法可以做到这一点,例如: 这也适用于过滤器,服务,指令等… 问题答案: 有很多组织代码的方法。您可以查看以下链接 使用AngularJS构建Huuuuuge应用 大型AngularJS和JavaScript应用程序中的代码组织 AngularJ
目标 了解对象或对象集合如何变成应用程序 使用 Eclipse 创建驱动程序类 应用程序入口点 所有 Java 应用程序都需要一个入口点,让 Java 运行时知道将从这里开始执行代码。这个入口点就是 main() 方法。域对象(即应用程序的业务域 中包含的对象,例如 Person 和 Employee)通常没有 main() 方法,但每个应用程序中必须至少有一个类。 众所周知,Person 和它的
我遵循了https://blog.jetbrains.com/idea/2013/03/packaging-javafx-2-applications-in-intellij-idea-121/中的步骤 但是当我尝试构建工件时,在最后一步中,我得到了这个错误 错误:Java FX Packager:无法生成工件-FX:Deploy在此JDK中不可用 这里有一个快速测试的hello world应用程