Articles of 模型视图控制器

从PHP的angular度来看节点

我是一个多年来一直在构buildPHP Web应用程序的Web开发人员,总是没有框架并使用MVCdevise。 终于到了我转移到Node的时候了。 由于懒惰,我忽略了学习节点,但是有JavaScript的经验,一切似乎伟大的工作,内置模块是伟大的,乍一看事情似乎快得多的节点与PHP,horray节点! 问题是,我无法find任何资源来学习“正确”的方式来使用MVC布局您的Web应用程序,而不使用Express / Koa / Hapi等框架。 我确定这些都是非常棒的框架,并节省了大量的时间,但为了加快速度,我认为从头开始构build是件好事。 路由:用PHPbuild立一个方法是使用__autoload()来dynamic加载控制器,这是一个好的方法来devise节点中的路由器,还是使用地图或以不同的方式路由到正确的控制器? 内容:在PHP中,您可以很容易地将视图文件打印出控制器传递的variables,甚至可以在html中运行代码。 我明白,这不是节点的方式,但只有人见过使用模板引擎或在教程中,只是有HTMLvariables,这当然在现实世界中不起作用。 在节点中,可以简单地通过加载静态HTML视图文件并replace{TAGS}来编写模板引擎,还是有理由使用更高级的模板引擎? TL; DR为什么使用简单网站的框架而不是手动编码几个基本组件? 我错过了什么吗? 谢谢!

正确使用Angular MVC设置

随意清除你在这里看到的任何误解。 我不是前锋。 现在,我已经读了很多逻辑不应该存在于控制器中,而应该放在其他地方。 但是大多数地方我看这个显示代码没有指定它属于哪个文件。在我inheritance的这个项目中,我有4个文件处理主要function: 一个控制器 – autoDeploy.js 服务 – autoDeploy.service.js 一个模块 – autoDeploy.module.js 指令 – directives.js directives.js只是包含我想要注入到DOM的模板,点击button后,指令将在稍后引用。 autoDeploy.module.js执行所有的module.config和$stateProvider路由的东西; 我没有触及它超出了我最初的修改指向我正在创build的新页面,所以它可以正确路由到。 autoDeploy.service.js :在我看到的例子中, .factory()的(或.service() )最后一个参数通常作为一个函数打开,文件中的所有function都发生在那里。 我不是那样的,这个工厂是一个独立的命令,接着是一个看起来像构造函数的工厂。 这是我有: (function () { //start iife 'use strict'; angular.module('gms.autoDeploy') .factory('AutoDeployService', ["$http", "$q", "$log", "$cookies", "APP_CONFIGS", "SweetAlert", "$timeout", "GridSettingsService", "APP_USER", AutoDeployService]); function AutoDeployService($http, $q, $log, $cookies, APP_CONFIGS, $timeout, SweetAlert, GridSettingsService, APP_USER) { […]

socket.io应用程序结构

任何人都可以推荐一个socket.io应用程序的客户端MVC框架? 小,轻,紧是我唯一的要求。 我已经在一些与工作相关的项目中使用了backbone.js,虽然它主要是为REST接口而不是WebSockets构build的。

Geddy.js – 渲染局部视图没有布局,有可能吗?

是否有可能在Geddy.js中呈现局部视图而不呈现整个HTML页面布局? self.respond(model, {layout: false, template: 'app/views/users/_list'}); 我试图做到这一点没有成功。 (虽然文档说:“布局[false]:一个标志不使用布局文件”)

完整的Node.js网站的成分

我已经做了很多Node.js的研究几个星期。 我可以看到Node.js是非常强大的,但我有一些缺失的想法,使一个完整的function网站。 我知道的: Node.js有很好的框架,比如Express,Sails,Meteor,Compound,Tower等。 Nosql数据库更适合Node。 我发现MongoDB和模块mongoose等等。 我错过了,问: Node.js框架有像Handlebars,ejs等模板引擎。如果我是正确的,你可以传递这样的数据…但是这足够吗? 我真的不明白Node.js网站的前端部分。 可以说我正在用mongodb数据库使用express。 我需要在前端的JavaScript MVC框架? 如果我不是什么应用程序框架? 有人可以解释一个完整的Node.js网站的成分与一个什么使用,在哪里使用列表? 谢谢!

如何使一个NodeJS SailsJS Web应用程序的所有非静态部分通过ajax加载?

我是SailsJS的新手,所以在NodeJS中,我正在使用它来构build一个简单的Web应用程序。 现在,我的问题是,如何通过Ajax呈现视图(模板除外)? 我希望它能像SailsJS官方网站一样工作( http://sailsjs.org ) 这就是我的Web应用程序的样子: http : //activityoverlord.herokuapp.com 谢谢!

在nodejs中放置数据库检查的正确位置

我正在用NodeJS和ExpressJS构build一个应用程序。 我的文件夹结构如下所示: /app /controllers /models 我试图分离模型中的所有逻辑和数据库调用,以及控制器中的“usertomodel”动作。 在控制器中,我有以下代码:(在控制器中) app.post('/api/nodes/upload/image', processMultipartForm, function(req, res) { if (!req.files.file) { return res.status(400).json({ message: 'INVALID_FILE' }); } … if (ALLOWED_FORMATS.indexOf(file.mimetype) == -1) { return res.status(400).json({ message: 'INVALID_FILE_FORMAT' }); } ….. NodesModel.createFile({ … }, {…}, function(){…}); 做简单的检查。 但是,在完成所有validation之后,我需要完成3个asynchronous数据库调用(例如,检查文件是否存在,权限等),并使用模型中的async npm包中的瀑布模块,它看起来像这:(在模型中) NodesSchema.statics.createFile = function(opts, user, cb) { var _this = this; async.waterfall([ function(callback) { […]

node.js / express js模型和控制器之间的交互

我是node.js的新手,请耐心等待。 我想知道什么是正确的方式将模型传递给节点中的控制器。 我有点工作,但是当我从我的控制器中的模型调用一个方法,我从模型返回的是'未定义',我不知道为什么。 我的连接数据库是好的。 看看我的文件,看到我的意见全部大写。 routes.js module.exports = function(app, dbConnection) { var theIndexModel = require('../models/index.server.models')(dbConnection); var index = require('../controllers/index.server.controller')(theIndexModel); app.get('/', index.homePage); }; models.js function IndexModel(dbConnection) { modelMethods = {}; modelMethods.getAllUsers = function(req, res) { var query = "SELECT * FROM `users`"; dbConnection.query(query, function(err, rows, fields) { return rows; //NOT RETURNING ANYTHING WHEN I CALL FROM […]

节点JS – MVC – 命名约定

我通常提出一个应用程序结构如下: +—-my_awesome_nodejs_app | +—-app | | +—-app.js | | +—-node_modules | | +—-tomatoes | | | +—-tomatoes.controller.js | | | +—-tomatoes.helper.js | | | +—-tomatoes.model.js | | | +—-tomatoes.route.js | | +—-views | | | +—-tomatoes.pug | +—-public | | +—-tomatoes | | | +—-tomatoes.css | | | +—-tomatoes.js | +—-spec | | +—-tomatoes.spec.js 我赞成命名约定来匹配前端(例如example.com/tomatoes) […]

Sailsjs MVC将来自外部API的参数映射到多个模型

我需要创build一个Shopify订单数据库,以便我可以运行高级查询和销售报告,这是shopifypipe理员区域中不能完成的。 我正在build立在帆.12和MySQL。 Shopify允许您注册一个webhook,以便每次下订单时,都会为指定的URL创build一个POST,并将正文中的订单数据作为JSON。 订购的产品是作为POST中值之一的JSON对象的数组: { "id": 123456, "email": "jon@doe.ca", "created_at": "2017-01-10T14:26:25-05:00", …//many more entires "line_items": [ { "id": 24361829895, "variant_id": 12345, "title": "T-Shirt", "quantity": 1, "price": "140.00", }, { "id": 44361829895, "variant_id": 42345, "title": "Hat", "quantity": 1, "price": "40.00", }, ] } 我需要将订单保存到订单表中,并将订单保存到line_items表中,这是一对多的关系。 一个订单可以有很多line_items(产品订购)。 有超过100个键值对由webhook发送,我保存了所有的。 我创build了我定义数据types的两个模型,所以现在我有非常长的Order.js和Line_item.js文件,而且我正在使用 line_items: { collection: 'line_item', via: 'order_id' }, 在我的Order.js和 order_id: […]