学习Node.js全栈框架MEAN-01

作者: 2MuchT | 来源:发表于2016-11-26 10:32 被阅读171次

WWW和浏览器的那些事

时间倒回1995年的春天,那是一个浏览器领域的乱世,随着大神Tim Berners-Lee 写出了第一个万维网浏览器,浏览器行业群雄并起,崭露头角的有IE还有Netscape的 Netscape Navigator等。

当年的Netscape Navigator大概张这个样子.png

从那以后互联网进入了一段像工业革命这样令世界大变的发展。

学习内容

后面要学习的内容如下:

  • MondoDB
  • Express
  • AngularJS
  • Node.js

需要的基础知识

  • HTML
  • CSS
  • JavaScript

MEAN 简介

MEAN 框架是一个使用JavaScript的全栈框架,MEAN是它的四块组成部分的首字母缩写:

  • MongoDB 数据库
  • Express web服务端框架
  • AngularJS web客户端框架
  • Node.js 客户端平台

不知道为啥要组合成Mean这个词,知道它很mean,听起来总是怪怪的\(^o^)/~

MEAN 框架的优势:

  • 一种语言编写整个Web应用
  • 框架的所有组成部分都支持MVC
  • 数据装配使用Json对象,对于数据的处理无需 Serialization 和 Deserializtion了。

安装Node.js

这里讲window版本的安装,首先到官网下载安装包:http://nodejs.org/ 然后跟着安装向导一步步安装即可。安装完毕后,在cmd键入 node -v,若显示出node版本则说明node安装成功。新一些的版本Node都是自带npm的,同样,可以在cmd里键入 nmp -v,若显示版本则成功。

Node.js 安装Node

安装MongoDB

这里讲window版本的安装,安装包去mongoDB官网下载,注意选择与自己环境相同的版本比如我的系统是64位的:https://www.mongodb.com/download-center?jmp=nav

MongoDB下载.png

MongoDB的安装稍微有一点繁琐,mac系统的请参考这篇博客:
http://www.jianshu.com/p/80fe2efad81c

初识Node.js

这一章将要了解的知识点有:

  • Node.js简介
  • JavaScript闭包和时间驱动编程
  • Node.js事件驱动Web开发
  • CommonJS modules和Node.js的Module系统
  • 接入Web框架的简介
  • 中间件

Node.js 简介

Node.js是一个Javascript运行环境(runtime)。实际上它是对Google V8引擎进行了封装。V8引 擎执行Javascript的速度非常快,性能非常好。Node.js对一些特殊用例进行了优化,提供了替代的API,使得V8在非浏览器环境下运行得更好。Node.js是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。
2009年2月,Ryan Dahl在博客上宣布准备基于V8创建一个轻量级的Web服务器并提供一套库。
-百度百科

事件驱动

Node.js运用了JavaScript支持non-blocking操作的特点,这一特点使得平台的效率比较高。JavaScript是一个事件驱动的语言,这意味着一段代码对应着特殊的事件。当事件被触发后,相应的代码将会被执行。这一特点允许开发者很容易的实现异步代码。下面的例子可以帮助我们更好的理解事件驱动

一下是一段Java代码:

 System.out.print("What's your name?"); 
 String name = System.console().readLine();
 System.out.print("Your name is: "+ name) 

在上面的例子中,编译器会从第一行开始执行代码,然后第二行。但是在用户输入名字之前,编译器不会继续往下执行。这就是同步编程,一行I/O操作的代码会卡住剩下的代码。然而,JavaScript并不是这样工作的。

JavaScript最早是用来支持浏览器操作的语言,它做的最多的这与浏览器操作事件相关的事。由于这种架构模式,HTML代码会把事件代理给JavaScript代码。

<span>What is your name?</span>
<input type=""text id="nameInput">
<input type="button" id="showNameButton" value="Show Name">
<script type="text/javascript">
var showNmaeButton = document.getElementById('showNameButton');
showNameButton.addEventListener('click', function(){
  alert(document.getElementById('nameInput').value);
});
</script>

(待续....)

相关文章

  • 学习Node.js全栈框架MEAN-01

    WWW和浏览器的那些事 时间倒回1995年的春天,那是一个浏览器领域的乱世,随着大神Tim Berners-Lee...

  • 一起学习Next.js吧(上)

    Next.js是什么 它是Node.js的全栈框架 CSS要写在JS中; 可以页面预渲染 + SSR(Server...

  • 学习Node.js全栈框架MEAN-02

    一些JavaScript的概念 Node.js全程都会使用的JavaScript这门语言,说以先要明确一些比较重要...

  • 【全栈之巅】Node.js + Vue.js 全栈开发王者荣耀手

    【全栈之巅】Node.js + Vue.js 全栈开发王者荣耀手机端官网和管理后台 本项目是 Bilibili 全...

  • readme.md

    目的 全栈学习以及应用,主要聚焦框架以及语言学习,业务简单略过 技术栈 webhtmljs/vuecss 服务器j...

  • 【js全栈】-koa2-安装

    爱所有人,信任少数人,不负任何人---《皆大欢喜》 前言:js全栈目录基于node.js平台的下一代web框架 ...

  • 学习Node.js全栈框架MEAN-04-Express

    Express是Node社区里的超级明星,他的作者TJ Holowaychuk也因此成为了社区里大红大紫的开发者。...

  • 学习Node.js全栈框架MEAN-05-MongoDB

    MongoDB是一个比较年轻的数据库系统,但在近些年发展的很迅速。MongoDB是NoSQL类型的数据库。 NoS...

  • node笔记

    Node介绍 为什么要学习Node.js 企业需求具有服务端开发经验更改front-endback-end全栈开发...

  • Node.js笔记

    Node介绍 为什么要学习Node.js 企业需求具有服务端开发经验更改front-endback-end全栈开发...

网友评论

    本文标题:学习Node.js全栈框架MEAN-01

    本文链接:https://www.haomeiwen.com/subject/fqnspttx.html