前言 上周有幸和淘宝前端团队的七念老师做了一些NodeJS方面上的交流(实际情况其实是他电话面试了我╮(╯-╰)╭),我们主要聊到了我参与维护的一个线上NodeJS服务,关于它的现状和当下的不足.他向我提出的一些问题带给了我很大启发,尽管回答的不是很好.问题大意是,对于你意识到的这些不足,你将尝试怎样去改进它们?甚至,如果给你一个机会来重新设计这个系统服务,你将如何做?相比现在有什么的改进? 为什么说这些问题对我产生了启发,是因为这些问题是我不曾考虑过的.或者说考虑过,但没有这么严肃的考虑过.这…
原文地址:Node JS后端项目开发与生产环境总结 Node JS常用后端框架有express.koa.sails.国产框架有个egg js,已经在cnode投入生产了,还有个think js,类似think php,在此支持一波.每个框架在开发环境与生产环境都有所不同,这里以koa为例 开发环境与生产环境的区别 建立在后台模板渲染(ejs, pug)的基础上.前后分离架构请参考webpack热更新实现 开发环境 热更新 错误处理 前端js代码自动打包 生产环境 静态缓存(static cach…
一直忙着写毕设,上一次写博客还是元旦,大半年过去了.... 后面会不断分享各种新项目的源码与技术.欢迎关注一起学习哈! 记录一次部署微信小程序Node.js后端接口代码的详细过程,使用宝塔来部署. 我们先来看一张图片 这是采用前后端分离的开发模式来开发微信小程序,跟云开发有区别.云开发没有"后端应用"这一块.我们这篇文章就是讲解怎么部署"后端应用"这一块的接口代码. @ 目录 材料准备 买轻量应用服务器(不能乱买) 备案域名 部署过程 登录宝塔管理界面 安装PM2…
安装-g:表示全局安装(必须以安装node.js) npm install -g express-generator 创建一个express架构的项目文件夹express testWebApp 在package.json文件夹下运行npm install 会把package.json的包补齐(生成node_modules文件夹,把包放里面) 运行npm start 浏览器打开http://localhost:3000/…
node.js是单进程应用,要充分利用多核cpu的性能,就需要用到多进程架构. 作为web服务器,不能多个进程创建不同的socket文件描述符去accept网络请求, 有经验的同学知道,如果端口被占用了,再跑一个监听该端口的服务就会报EADDRINUSE异常.那么问题来了,多进程架构如何去解决这个问题? 我们把多进程架构设计成典型的master-workers架构, 一个master, 多个worker. master-workers架构如下图所示: 我们可以在master进程代理accept请…
最近在写自己的博客,涉及到跨域的问题,自己捣鼓许久,终于解决了.然后总结一下,记录一下,日后遇到类似的问题的时候也可以得到一些启发. 一.什么是跨域 跨域,指的是浏览器不能执行其他网站的脚本.它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制. 所谓同源是指,域名,协议,端口都相同.浏览器执行javascript脚本时,会检查这个脚本属于哪个页面,如果不是同源页面,就不会被执行. 二.跨域问题的解决方案 1. 通过jsonp跨域 2. document.domain +…
课前阅读:关于Node.js后端架构的一点后知后觉 书推荐:<Node.js design patterns> 衍生问题: 微服务的必要性,Flux架构 容错性和拓展性 一.立体拓展 假设现在需要你用NodeJS搭建一个http服务,我猜测你会借助express框架用不到10行的代码完成这项工作. 但容错性和拓展性才是正常运行的基本保障,至少保证了你的服务是可用的,永远是可用的. X轴方向:纯粹的对服务实例进行拓展,例如为了响应更多的请求 y轴方向:为服务添加新的功能,功能性拓展 z轴方向:按…
最近学习了一点Node.js的后端知识,于是作为一个学习前端方向的我开始了解后端,话不多说,开始介绍.首先,如果你想要更好的理解这篇博客,你需要具备html,css,javascript和Node.js基础以及少许的SQL数据库知识.接下我们开始这个小项目. 一.项目需求 要求用户进入登陆界面,输入用户名和密码后,后端获取用户输入的表单信息,通过从数据库查找,如果正确,跳转登陆成功页面. ps:注释写的比较详细了,不明白的地方请多看注释.当然,我也非常欢迎你留言询问,但是这不是一个快速解决问题的…
我之前写过一篇关于使用Node.js作为后端实现用户登陆的功能,现在再写一下node.js做后端实现简单的用户注册实例吧.另外需要说的是,上次有大佬提醒需要加密数据传输,不应该使用明文传输用户信息.在实际的开发中,也强烈建议大家做数据加密操作.ps:这里为了演示,就不做数据加密了.好了,现在开始我们的小项目. 一.项目需求 要求用户进入用户注册界面,填写用户名和密码后,提交到数据库保存.注册后的账户可用于登陆.ps:关于用户名和用户密码审核这些的就不写了,这里只写一些核心功能需求的代码. 二.开…
本文主要讨论一些进行Node.js开发的最佳实践和建议,这些建议不仅仅适合开发者,还适合那些管理与维护Node.js基础架构的工作人员.遵循本文提供的这些建议,能够让你更好的进行日常的开发工作. Statement 原文地址:https://blog.risingstack.com/how-to-become-a-better-node-js-developer-in-2016/ 译者:景庄,Web开发者,主要关注JavaScript.Node.js.React.Docker等. 使用ES201…