热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

怎样打造一个使人愉悦的前端开辟环境(三)

往期回忆前面2期都讲得是浏览器端的东西比较多,包含Webpack,虽然是Node处置惩罚的,然则照样浏览器端用的多,关于如今的前端开辟来讲,不懂一点效劳端的东西,险些没办法活,平常
往期回忆

前面2期都讲得是浏览器端的东西比较多,包含Webpack,虽然是Node处置惩罚的,然则照样浏览器端用的多,关于如今的前端开辟来讲,不懂一点效劳端的东西,险些没办法活,平常的雇用请求都邑加上要懂一门效劳端的言语,比方:PHP,Java之类的啦。如图所示:

《怎样打造一个使人愉悦的前端开辟环境(三)》

所以我们这期就讲Node的东西。

程咬金的三板斧

一、劈脑壳 — 东西链

Node在前端范畴运用最为普遍的就是东西链了,一期提到的构建东西都是Node写的,固然另有其他许多东西,比方:京东工程化,百度开源构建东西FIS3,微信宣布的工作流东西等等一系列前端东西都是用Node写的。普遍的说,我以为一期提到的编辑器也算东西链的中的一种,Atom,vs code,Brackets都和Node密不可分。我个人感觉,Node的生长,实际上大大解放了前端的生产力,关于其他的效劳端言语的依靠基础能够说降到最低,能够依据本身的须要编写东西来完成手艺目的。

这方面人人也能够本身来产出下,比方我本身写了个小东西供本身运用:
vuejs 格式化 Atom插件
如今下载量也不错,有2000多了,另有好几个issues没有处置惩罚,哭!!

二、鬼剔牙 — 中心层

关于许多FE来讲,要搭建一个后端环境非常贫苦,而且不熟习,轻易失足(java,ruby,php),最糟的是本身不懂,失足了完整不会调试,你的脸色此时是如许的:

《怎样打造一个使人愉悦的前端开辟环境(三)》

那末在13、14年的时刻,淘宝的前端团队,最先一连发文,前后端星散的思索和实践系列文章,提到了中途岛设计,也就是把Node作为前端和效劳端的中心层,也就是这个架构,

《怎样打造一个使人愉悦的前端开辟环境(三)》

从这类图,不难看出,Node庖代本来php,java干的一部分事变,也就是我们常说的MVC框架中的VC基础都给Node来干,FE干的事变更多了,能控制的东西多了,意味着关于本身越发天真,能够斟酌更多的组件化,工程化,机能监控,数据剖析的事变。

这方面的实践人人能够参考美团这边的图文:

《怎样打造一个使人愉悦的前端开辟环境(三)》

美团旅店Node全栈开辟实践

三、掏耳朵 — 炽热的全栈

Full Stack developer 是近年来热炒的一个观点,究其原因,跟Node的炽热不无关系,早些年讲,一个人(大牛不算普通人)既要通晓java又要通晓js,html,css照样很难题,许多头脑都不太一样,离开也很正常,而Node的涌现,为许多比较凶猛的前端供应了切入到效劳端的时机,言语层面的题目不在是难点,重要的对效劳端的知识点的熟习水平。Node的末了一个大招就是替代一些传统的效劳端言语,比方php,ruby,java等,在营业层上面运用Node来开辟效劳端完整不成题目。

比方: uber的调理体系险些都是用 node.js 编写的

这方面的文章也有许多了,人人能够本身去搜搜看,包含种种框架,另有种种开源体系,都能够找到。固然也另有林林总总的坑和题目以待人人去踩和处理。

说说自家事

我们公司来讲的话,三板斧基础都用上了,打包构建自不必谈,基础每一个前端都邑用到,第二板斧我们公司已基础切换过来了,年后3月启动,现在是一切的web页面都是Node作为中心层,替代了php的衬着,中心天然有许多的难题要战胜,但团体上来讲开辟的效力照样大大提拔,不须要在设置php的环境,也不必在体贴种种环境的依靠,团体上本身的一个自力的效劳,运用接口的情势和效劳端通讯。

那末三板斧为什么会用到,主如果现在国内最常见的mobile的web页面,基础在微信内里撒布,然后这些页面还须要肯定的数据交互,而且这类页面的特性就是短平快,不须要那末严谨,这类页面迥殊合适前端本身一撸究竟,前后端通吃,接上 MongoDB当作数据库,基础两三天以内就可以开辟一个运动页面出来,不须要对其他效劳有任何依靠,包含微信受权都能够本身搞定,工作量实在比对接其他言语效劳大不了若干,某些方面,我个人以为还减少了许多的沟通本钱。

痛点– 作育了本身的一个开源

express的路由插件

先说说这个插件做什么的: 主如果自动的加载express框架下面的路由,以免一个一个路由须要手写。

一般我们在express框架下面,写路由的时刻都是一个一个的手写,然后在app.js内里去一个一个援用,平常是如许子的

《怎样打造一个使人愉悦的前端开辟环境(三)》

那末好一点的状况,是如许子的,疏散每一个雷同名字的路由到文件中,然后援用文件在app.js内里。

《怎样打造一个使人愉悦的前端开辟环境(三)》

但实际上你可能在项目中路由状况是如许子的

《怎样打造一个使人愉悦的前端开辟环境(三)》

你有什么主意?

《怎样打造一个使人愉悦的前端开辟环境(三)》

虽然如许子也就是一个文件多两行代码,我照样不爽,我为什么要由于同一个划定规矩而去多写这两个代码,而且10个两行,就是20行,原则上,能用机械干的事变,就不人干,而且PHP的一些MVC框架能够自动加载路由,他们会有一个文件夹的分层,很明显,路由都放到Controller文件夹下,然后依据路由名来婚配文件名的响应action,依据这个我本身就撸了一个express的自动加载路由,然后斟酌了下一些特殊状况,做了点设置,不过现在只是支撑一级目次,没有斟酌多级目次状况,有须要能够本身增加,或许给我提issues。

按例总结

本篇文章重要讲的是关于Node的东东,它的运用方向,更倾向连系前端的运用,并非是很深切的Node道理,也算是给许多前端解惑下,为什么要运用Node,以及怎样运用Node,不要自觉的听信他人的发起,须要连系本身项目状况,手艺水平,以及团队配比。

更多的Node的运用细节和技能发起关注:

美团博客

大搜车

cnode论坛

下一篇我们开启怎样连系Webpack和express 搭建一个开辟环境和项目目次


推荐阅读
  • 本文介绍了前端人员必须知道的三个问题,即前端都做哪些事、前端都需要哪些技术,以及前端的发展阶段。初级阶段包括HTML、CSS、JavaScript和jQuery的基础知识。进阶阶段涵盖了面向对象编程、响应式设计、Ajax、HTML5等新兴技术。高级阶段包括架构基础、模块化开发、预编译和前沿规范等内容。此外,还介绍了一些后端服务,如Node.js。 ... [详细]
  • 本文介绍了一个免费的asp.net控件,该控件具备数据显示、录入、更新、删除等功能。它比datagrid更易用、更实用,同时具备多种功能,例如属性设置、数据排序、字段类型格式化显示、密码字段支持、图像字段上传和生成缩略图等。此外,它还提供了数据验证、日期选择器、数字选择器等功能,以及防止注入攻击、非本页提交和自动分页技术等安全性和性能优化功能。最后,该控件还支持字段值合计和数据导出功能。总之,该控件功能强大且免费,适用于asp.net开发。 ... [详细]
  • 本文介绍了互联网思维中的三个段子,涵盖了餐饮行业、淘品牌和创业企业的案例。通过这些案例,探讨了互联网思维的九大分类和十九条法则。其中包括雕爷牛腩餐厅的成功经验,三只松鼠淘品牌的包装策略以及一家创业企业的销售额增长情况。这些案例展示了互联网思维在不同领域的应用和成功之道。 ... [详细]
  • Unity3D引擎的体系结构和功能详解
    本文详细介绍了Unity3D引擎的体系结构和功能。Unity3D是一个屡获殊荣的工具,用于创建交互式3D应用程序。它由游戏引擎和编辑器组成,支持C#、Boo和JavaScript脚本编程。该引擎涵盖了声音、图形、物理和网络功能等主题。Unity编辑器具有多语言脚本编辑器和预制装配系统等特点。本文还介绍了Unity的许可证情况。Unity基本功能有限的免费,适用于PC、MAC和Web开发。其他平台或完整的功能集需要购买许可证。 ... [详细]
  • 本文介绍了Paxos的世界中关于复制日志与状态机的概念和重要性。通过存储日志来实现数据的持久化,并通过日志流来记录数据的变化,而不是直接持久化数据本身。这样做的好处是简化了持久化存储的操作,并且方便多机之间的数据同步。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • Java实战之电影在线观看系统的实现
    本文介绍了Java实战之电影在线观看系统的实现过程。首先对项目进行了简述,然后展示了系统的效果图。接着介绍了系统的核心代码,包括后台用户管理控制器、电影管理控制器和前台电影控制器。最后对项目的环境配置和使用的技术进行了说明,包括JSP、Spring、SpringMVC、MyBatis、html、css、JavaScript、JQuery、Ajax、layui和maven等。 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • 解决Cydia数据库错误:could not open file /var/lib/dpkg/status 的方法
    本文介绍了解决iOS系统中Cydia数据库错误的方法。通过使用苹果电脑上的Impactor工具和NewTerm软件,以及ifunbox工具和终端命令,可以解决该问题。具体步骤包括下载所需工具、连接手机到电脑、安装NewTerm、下载ifunbox并注册Dropbox账号、下载并解压lib.zip文件、将lib文件夹拖入Books文件夹中,并将lib文件夹拷贝到/var/目录下。以上方法适用于已经越狱且出现Cydia数据库错误的iPhone手机。 ... [详细]
  • 后台获取视图对应的字符串
    1.帮助类后台获取视图对应的字符串publicclassViewHelper{将View输出为字符串(注:不会执行对应的ac ... [详细]
  • PDF内容编辑的两种小方法,你知道怎么操作吗?
    本文介绍了两种PDF内容编辑的方法:迅捷PDF编辑器和Adobe Acrobat DC。使用迅捷PDF编辑器,用户可以通过选择需要更改的文字内容并设置字体形式、大小和颜色来编辑PDF文件。而使用Adobe Acrobat DC,则可以通过在软件中点击编辑来编辑PDF文件。PDF文件的编辑可以帮助办公人员进行文件内容的修改和定制。 ... [详细]
  • 小程序自动授权和手动接入的方式及操作步骤
    本文介绍了小程序支持的两种接入方式:自动授权和手动接入,并详细说明了它们的操作步骤。同时还介绍了如何在两种方式之间切换,以及手动接入后如何下载代码包和提交审核。 ... [详细]
  • MVC设计模式的介绍和演化过程
    本文介绍了MVC设计模式的基本概念和原理,以及在实际项目中的演化过程。通过分离视图、模型和控制器,实现了代码的解耦和重用,提高了项目的可维护性和可扩展性。详细讲解了分离视图、分离模型和分离控制器的具体步骤和规则,以及它们在项目中的应用。同时,还介绍了基础模型的封装和控制器的命名规则。该文章适合对MVC设计模式感兴趣的读者阅读和学习。 ... [详细]
  • 分享css中提升优先级属性!important的用法总结
    web前端|css教程css!importantweb前端-css教程本文分享css中提升优先级属性!important的用法总结微信门店展示源码,vscode如何管理站点,ubu ... [详细]
  • 本文介绍了iOS开发中检测和解决内存泄漏的方法,包括静态分析、使用instruments检查内存泄漏以及代码测试等。同时还介绍了最能挣钱的行业,包括互联网行业、娱乐行业、教育行业、智能行业和老年服务行业,并提供了选行业的技巧。 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有