问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

sails怎么把数据导入到mysql

发布网友 发布时间:2022-04-09 21:00

我来回答

1个回答

热心网友 时间:2022-04-09 22:29

Node.js非常适用于Web开发,但是现在无论是一个网站,还是Web App都已经成为包括很多不同部分,如前端、数据库、业务模块、功能模块等等的大型项目,使用Node.js从零开始进行Web开发,也许大中型团队能够 胜任,但对于个人和小型团队来说是不现实的。这时候框架就成为Web开发利器,对于个人开发来说几乎是必不可少。那么如何选择Node.js Web开发框架呢?
首先,我们必须要弄清楚的是,我们需要的是——
程序 or 框架?
程序是已经成型的应用,你需要的是为它搭建环境、添加配置,然后就可以运行起来;框架则是应用的骨架,你需要为它添加数据模型、业务逻辑,它才能成为应用,开始提供服务。
事实上,对于Web开发来说,程序和框架的区别正越来越模糊,比如几乎妇孺皆知的Wordpress,它是一个博客程序,但它丰富的插件以及高度的 自定义能够支持很大程度上的二次开发,在这点上它比起一些PHP框架也并不逊色。我个人认为,如果重心在于提供服务而不是掌握技术,有WordPress 这样的程序是没有必要使用框架的。
可惜的是,由于Nodejs还很年轻,目前还没有WordPress这样的程序,因此目前在Node.js开发里,如果想做出自己想要的作品,框架是必然的选择。如果是某些特定类型的应用,可以尝试一些开源的程序,比如要用Nodejs做博客,有Hexo、Ghost等。
Node.js Web框架有哪些?
Node.js里的Web框架分为API框架和Web应用框架。前者能够开发出RESTful的API,后者也能开发出RESTful API,但还包括模板、渲染等为前端所准备的功能。
API框架的使用场景是为跨平台应用提供统一的数据模型,而渲染由前端/客户端自行解决。目前比较知名的API框架有
restify(文档、Github、NPM)
ActionHero.js(官网、Github、NPM)
LoopBack(官网、Github、NPM)
Frisby(官网、Github、NPM)
Fortune.js(官网、Github、NPM)
Web应用框架顾名思义,就是为了打造Web应用所开发的框架。这里有两种风格的Web应用框架。
一个是Sinatra风格,另一个是Rails风格。Sinatra和Rails都是Ruby语言的Web框架,后者的影响力更大也更为知名。这里简单的解释一下两种风格是什么意思。
Sinatra风格是指高度可配置,注重开发的自由度。代表性的Nodejs Web框架有:
Express(官网、Github、NPM)TJ大神开发,Node.js官方推荐
hapi(官网、Github、NPM)
koa.js(官网、Github、NPM)
flaliron(官网、Github、NPM)
total.js(官网、Github、NPM)
locomotive(官网、Github、NPM)
Rails风格则是指不重复自己和约定优于配置,以及严格遵循MVC结构开发。代表性的框架有:
Sails.js(官网、Github、NPM)
geddy(官网、Github、NPM)
CompoundJS(官网、Github、NPM) 原railswayjs
这两种风格无所谓谁优谁劣,全凭使用者的偏好。
而在这两种Web框架之外,还有更大型的框架,即全栈框架,其中的代表是MEAN。
MEAN?
MEAN指MongoDB+Express+Angular.js+Node.js,这一组合包括运行环境、数据库、Web框架和前端引擎。被称为 全栈框架(Full-stack framework)。这其中除了Node.js之外,每一个都是可替换的,目标是创建从前端到后端,全部使用javascript的Web应用。
由于这一框架的完善性,有人将其称为LAMP的*人。LAMP即PHP的典型运行环境,Linux+Apache+MySql+PHP,被大量的用于各种虚拟主机上。
MEAN看似庞大,但事实上要构建完整的现代化Web应用,特别是SPA(单页面应用),这几个组件都是难以缺少的,并且,其中每一项几乎都是目前 情况下的最佳选择,因此用于学习和重头开始打造新的Web应用是非常合适的。但由于实际业务的独特性,很可能要替换其中的组件,比如用Mysql来替换 MongoDB,因此,学习其中的原理和架构,打造自己的类MEAN框架也是一种选择。
作为个人和小团队来说,全栈框架MEAN基本上足够了,但目前大多数全栈框架还包含一项特性,那就是实时,拥有实时功能的框架我们又称为实时框架。
实时框架好吗?
实时框架(Real-time framework)指包含了webSocket的双向通信功能,能够在服务器和客户端做到实时通信的框架。
服务端和客户端自由通信的需求一直都在,但由于HTTP协议本身的局限性,因此催生了Comet等变通的方法,但即使这样也离实时相距甚远。而当 Node.js兴起后,另一个HTML5技术webSocket也渐渐成熟,人们突然发现,实时通信一下子变得触手可及,于是webSocket技术在 Node.js中得到大量的应用,其中最为知名的模块就是socket.io,而各种全栈框架也纷纷加入实时特性来应对更广阔的开发需求。
目前有代表性的实时框架有:
Meteor(官网、Github、NPM)
MEAN.io(官网、Github、NPM)
Derby(官网、Github、NPM)
SocketStream(官网、Github、NPM)
不过说实话,目前能看到的实时通信的应用场景其实不多,其中大多集中于聊天室、to-do、实时图表、在线游戏等领域。其他领域使用实时特性不但没必要,而且是对服务器资源的浪费。因此目前是否要采用实时框架,要看具体的项目而定。
以上基本就是Node.js Web框架的现状了,相信看到这里,对于选择何种框架读者已经心里有数了吧。最后再介绍一个容易搞混的概念,和解释一下我的选择。
YEOMAN?
第一次见到这个词,我还以为它和MEAN有什么联系。事实上,它们是截然不同的两个东西。YEOMAN由YO(脚手架)、grunt(构建工具)、bower(包管理器),它代表的是一种工作流,与框架开发的思维方式完全不同。具体的介绍可见这里。
YEOMAN能够和框架达到类似的目的,都是为构建一个Web应用做好准备,但是要不要采用YEOMAN,则是见仁见智。我个人的看法是,学习 YEOMAN本身就需要不少时间,并且有一定的学习门槛。至少在目前,使用框架开发还是相对经济的,而如果以后YEOMAN这种模式推广开来,再来学习也 不迟,更何况有一定的Node.js项目经验之后再来学习YEOMAN要轻松很多。
事实上,我还是很认可YEOMAN这种Generator+package Manager的模式的,这是因为Node.js本身崇尚微模块的 概念,即无论是多么小的功能,都将它们模块化,甚至大的模块也要拆分成小的模块,然后通过搭积木的方式来构建应用。这样能够彻底的解耦,对于不容易调试的 Javascript来说,也有助于定位和修复应用中的问题。Generator就是这种理念催生下的产物,通过选择不同的配置和选项,将积木搭起来。不 过对于这种模式目前大家也还处于实验当中,不急于进行实际应用。
为什么我选择了Hackathon Starter?
在我的个人项目中,使用的是Hackathon Starter,一个Node.js Web应用脚手架。
我使用它的原因是,要求高度可配置,同时又讨厌写一些配置的代码,因此它对于我来说是很好的选择。一些全栈框架对我来说,封装过多,将原生的 Node.js/Express API隐藏掉了,要使用还需要一定的学习成本。而Express这样的框架又太过简洁,在实际的项目中使用还需要大量的插件和配置,而这些在 Hackathon Starter中都已经帮我们做好了,同时还有一些示例代码以供学习,对于新人来说非常友好,可以避免过多的挫折感。
上面一段可以看做是免费为Hackathon Starter做的广告吧,开源项目需要宣传和布道才能让更多人所关注。
最后,本文里的框架大多来源于nodeframework网站,本文可以看做是该站的注释版,在扫清我自己的一些疑惑的同时,也希望对读者有所帮助。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
2024年9月走亲访友黄道吉日 2024年9月哪天适合走亲访友 2024年7月5日是走亲访友的黄道吉日吗 2024年7月5日适合走亲访友吗 交强险还需要交车船税吗 测评| 平安家易保(家财险):限商品房,自住版、房东版、租客版 女的23岁去读大学年龄是不是太大了? 请问中国石化怎么操作?23.00元买入的,能继续持有吗?中国石化的股改是怎... 600028我是21元买入的,现已经跌到15元多了,怎么办呀?赔死了!!_百度知 ... 请问600028中国石化现在还可以买吗? ...一个游戏机插在电视上耍的那种小游戏,超级玛丽,冒险岛等,你们还玩... 最难小游戏排行榜(十大最难玩的家庭小游戏) 1月10号武安限几号? 微信公众号ad3499有病毒吗 武安市电信营业厅在哪? 秦赵邯郸之战,强大的秦国为什么惨遭失败? 武安农业银行中午营业吗? 武安市广播电视台抽奖活动是真的吗,程须活动怎么样参加 武安新金钢铁考勤怎么查 爱心妈妈被拘疑养干儿子做什么事? 收藏第四套人民币哪种最有潜力?一角,五角为什么现在不涨价? 一角 五角有收藏价值吗? 河北“爱心妈妈”被拘其女儿怎么说? 现在第四套人民币的一角五角和第五套的一元、2005年100元都停产了吗?那么有没有收藏价值? 1991年1角硬币有收藏价值吗? 今年内蒙古农业大学什么专业好 请问第四套人民币中哪些将会有收藏价值?一毛的会在什么时候停发? 内蒙古农业大学的运动马驯养与管理专业是一本.二本 三本 还是专科 2010年内蒙古农业大学专科学生专业都有哪些? 泡沫灭火器可以分为哪两种类型 黄焖猪尾巴鸡爪怎么做 内蒙古农业大学都那些专业好啊 内蒙古农业大学专科专业有什么?那个好点儿? 信用交易是什么? 证券信用交易是什么意思 信用交易和保证金交易是什么关系? 什么叫做保证金交易? 信用交易都有什么特点? 保证金交易是什么意思 盘龙下载(txt免费) 信用买卖(credit sales)是甚麼意思? 信用卡线上交易是什么意思 十万块钱存三个月农村信用社利息是多少 微小宝正版小说分销平台是真的吗 那个微小宝好不好用?收益高不高? 微小宝、图腾贷、金海贷,这三个平台谁更好?我是新手。 微小宝是做什么的? 什么是微小宝?微小宝能做什么? 微小宝和日收益哪个更可靠 微信公共号已经2000多个粉丝了,为什么在微小宝还不能接单盈利 做自媒体是专注一个平台,还是多个平台好 类似微小宝多平台工具有哪些? 微小宝,极致了,新榜等公众号数据分析平台哪个好?