Node
文章平均质量分 75
xreztento
还不清的技术债
展开
-
什么是Sails
##Sails的关键字Realtime MVC Framework for Node.js###Node.jsSails采用纯粹的Node.js进行构建,你只需要掌握一门javascript编程语言就可以构建Sails应用程序(Web程序);###MVC FrameworkSails提供了基于MVC结构组织Web程序的基础编程框架,你可以使用该框架搭建起层次分明的Sails应用程序...原创 2019-05-16 17:45:43 · 1143 阅读 · 0 评论 -
Sails基础之View层——i18n
Sails的View层提供了i18n的解决方案,参考https://sailsjs.com/documentation/concepts/internationalization/locales我们可以实现一个中文/英文的国家化案例:创建中文支持:config/locales/zh.json:{ "Welcome": "欢迎"}修改config/i18n.js,增加对中文的支持...原创 2019-05-17 09:36:08 · 652 阅读 · 0 评论 -
Sails基础之View层——Assets
assets目录是Sails应用下放置前端静态资源的目录,比如js、css、image等。assert资源的动态注入Sails通过Grunt来完成Web应用程序的构建,Sails在启动时默认使用了tasks/register/defaults.js任务完成构建:module.exports = function (grunt) { grunt.registerTask('default'...原创 2019-05-17 09:34:41 · 521 阅读 · 0 评论 -
Sails基础之View层
Sails内置了ejs模板引擎来完成View层的渲染。ejs模板文件都放在views文件夹下进行维护,主要分为两种类型layout与page,layout主要是共享用的布局文件,page是真正的页面body内容。Sails默认提供了指定ejs模板引擎的layout功能。assets目录是Sails应用下放置前端静态资源的目录,比如js、css、image等。在前面Controller层的案例...原创 2019-05-17 09:29:55 · 498 阅读 · 0 评论 -
Sails基础之Controller层上传文件
下面给出一个文件上传的案例为你写的文件上传Controller提供一个参考:创建Controllersails generate controller upload##创建待上传文件保存目录编写上传逻辑UploadController.js:const ATTACHMENT_MAX_BYTES = 1024 * 1024 * 100;const ATTACHMENT_PATH =...原创 2019-05-16 18:29:32 · 725 阅读 · 0 评论 -
Sails基础之Controller层
通过前面的使用,我们可以看出Sails中MVC的结构更倾向于MVP的概念,Presenter在Sails中被称之为Actions:They often act as a middleman between your models and views.Controller层这个结构上的变化是Sails v1.0中新提出的方案,Action可以使用classic和actions2两种格式,另外...原创 2019-05-16 18:27:37 · 918 阅读 · 0 评论 -
Sails基础之Helpers进阶
进阶例子参考sails generate helper read-filenpm install fs --saveread-file.js:const fs = require('fs');module.exports = { friendlyName: 'Read file', description: 'Read file', extendedDescrip...原创 2019-05-16 18:25:28 · 564 阅读 · 0 评论 -
Sails基础之Helpers(Service层)
在Sails v0.12版本中曾经提供了Service层,Service在传统的MVC结构中处于Controller与Dao之前,具体实现一个业务逻辑服务,但在v0.12中的Service并不能很好实现对Service层的定位,更像是一个公共方法的集合,在v1.0中已经淡化了Service的概念,取而代之的是提出了Helper做为一个提供公共方法的集中场所,用来将重复的代码抽象到单独的文件中,从而...原创 2019-05-16 18:23:30 · 573 阅读 · 0 评论 -
Sails基础之Models层的其他settings
tableName可以通过该顶层属性为每个model配置其在数据库中的映射表名称。customToJSON自定义Model记录序列化方法,比如可以在create或update时忽略某些敏感字段的输出,参考如下:User Model:const crypto = require('crypto'); const uuid = require('node-uuid');module.e...原创 2019-05-16 18:21:55 · 429 阅读 · 0 评论 -
Sails基础之Model层的Lifecycle callbacks
LifecycleSails Model的生命周期主要是值对于记录操作的生命周期:create->update->destroyLifecycle callbacks指的是在上述生命周期到达或完成时的hook方法,包括以下内容:Callbacks on createbeforeCreate: fn(recordToCreate, proceed)afterCreate:...原创 2019-05-16 18:17:19 · 385 阅读 · 0 评论 -
Sails基础之Model层的Attributes
我们在前面已经创建了Model并为其设置了属性,Sails属性配置从功能性角度来划分,可以分为以下几种:类型配置项:主要是为属性配置其对应的数据类型及默认值;映射存储配置项:主要是为属性配置其映射到数据库中的字段名称与数据类型;功能性配置项:主要是为属性配置一些在插入数据库时的一些功能特性;验证器配置项:主要是为属性配置对其输入和内容的规则验证器,用于检查其输入时的规范性要求。类型配...原创 2019-05-16 18:05:43 · 623 阅读 · 0 评论 -
Sails基础之Models层的Associations
Sails提供了ORM,Model间的关联通过ORM完成,Sails的文档(https://sailsjs.com/documentation/concepts/models-and-orm)中给出了详细的案例,我们这里给出常见三类关联的具体案例。##One-to-one上面ER图中给出了一个One-to-one的关系模型,对应的Model代码如下:Owner Model:module....原创 2019-05-16 18:01:38 · 457 阅读 · 0 评论 -
Sails基础之Models层的config/datastores配置
配置与使用Sails提供并支持多种Models层的存储(https://sailsjs.com/documentation/concepts/extending-sails/adapters/available-adapters),使用时需要在应用程序项目下安装对应的adapter并且在config/datastores或config/env/production.js下进行配置。我们可能常用...原创 2019-05-16 17:50:52 · 777 阅读 · 0 评论 -
Sails基础之View层——更换模板引擎
Sails内置了ejs模板引擎,如果想要更换模板引擎,可以参考:https://sailsjs.com/documentation/concepts/views/view-engines安装swig模板引擎:npm install consolidate --savenpm install swig --savenpm install swig-extras --save配置swig模...原创 2019-05-17 09:37:42 · 633 阅读 · 0 评论