node.js的一些知识
什么是node.js
- node.js是构建于chrome浏览器v8引擎上的一个js运行环境
- 可以解析和执行js代码
- 可以当做另一种上下文,脱离浏览器环境(后端)运行js代码,而代码解析就是基于V8引擎
- 伴随着node.js有许多模块,提高效率。即node.js是一个运行环境,又是一个库
- node.js的 事件驱动和非阻塞IO模型使得node.js本身非常的轻量和高效
node.js的实现结构
- V8 JavaScript 解析执行引擎 ECMAScript
- 中间层 (提供了文件操作、网络操作登陆接口)更加接近操作系统的接口供开发人员使用
- 硬件层
node.js可以做什么
- 操作文件(创建、删除、修改、读取)
- 提供Web服务(在Node中可以接收客户端的请求了)
- Node 可以 开发一些 命令行工具软件
- Node 可以 开发动态网站(有用户业务交互的功能Web站点)
- 用户登陆
- 用户注册
- 添加购物车
- 商品的展示
- Node 可以帮我们 把之前 所写的 静态页面 -> 动态化
- Node.js 不需要操作DOM、BOM了,也不需要写HTML、css, 不需要考虑兼容性的问题
- Node.js 编程实际上就是在 写 JavaScript 代码,关心的是业务功能
- 操作持久化数据
- 可以开发 命令台 工具软件
node.js和PHP的区别
相同点:
- 它们都能操作文件,都有和操作系统底层打交道的 API
- 它们都可以进行网络操作,网络服务
不同点:
- PHP 需要和 Apache 结合起来才能提供 Web服务
- Node.js 摒弃了以往所有的服务器,Node.js 可以独立作为一个服务器来使用
- Java、PHP、.net 能做的事儿,Node.js 基本都能做,而且在某一方面比它们还要做的好
安装包管理工具npm
- 允许用户从NPM服务器下载别人编写的三方包到本地使用
- 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用
- 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用
node.js模块加载规则,即:包的加载
当模块标识既不是文件模块,也不是核心模块的时候,
Node.js按照一定的规则去查找该 包模块 先找当前的 node_modules 目录下有没有工具包(例如项目引用的node-markdown包),如果有,优先找 package.json 文件, 找到 package.json 文件之后,找 里面的 main 属性 如果 package.json 文件没有 或者 没有 main 属性 或者 main属性指定的文件模块不存在 Node.js 会取上一级目录下的 node_modules 目录下 找 该工具包继续走上面的流程 直到找到根目录下 如果还找不到那么就报错。正是因为有这种规则存在,require文件路径直接可以写成包的文件名。
为了防止误删包之后,不清楚是缺少的文件模块、核心模块等等,这个时候就需要这个安装命令
npm install node-markdown --save
那么package.json文件里对多出“depandencies”:{“node-markdown”:“^0.1.1”},
这个时候把包删掉,执行下面命令初始化package.json文件
npm init -y
再执行
npm install node-markdown --save
那么文件中包会自动下载所缺少的包
在这总结了一些npm常用命令
npm init 【-y】 初始化一个package.json文件
npm install 包名 安装一个包
npm install –save 包名 将安装的包添加到package.json的依赖 中(dependencies)
npm install –g 包名 安装一个命令行工具 npm docs 包名 查看包的文档【非常有用】
npm root -g 查看全局包安装路径
npm config set prefix “路径” 修改全局包安装路径
npm list 查看当前目录下安装的所有包
npm list -g 查看全局包的安装路径下所有的包
npm uninstall 包名 卸载当前目录下某个包
npm uninstall –g 包名 卸载全局安装路径下的某个包
npm update 包名 更新当前目录下某个包
node.js的一些知识的更多相关文章
- node.js的基础知识
第一部分知识: .命令行窗口(小黑屏).CMD窗口.终端.shell - 开始菜单 --> 运行 --> CMD --> 回车 - 常用的指令: dir 列出当前目录下的所有文件 c ...
- 001/Node.js(Mooc)--基础知识
一.Node.js基础知识 node.js用C++语言编写. 简单的说 Node.js 就是运行在服务端的 JavaScript. Node.js 是一个基于Chrome JavaScript 运行时 ...
- Node.js的基础知识(一)
一.Buffer类 1.创建缓冲区的三种方式 var buffer = new Buffer(10); console.log(buffer); var buffer2 = new Buffer([1 ...
- 002/Node.js(Mooc)--Http知识
1.什么是Http 菜鸟教程:http://www.runoob.com/http/http-tutorial.html 视频地址:https://www.imooc.com/video/6713 h ...
- 10个常见的Node.js面试题
如果你希望找一份有关Node.js的工作,但又不知道从哪里入手评测自己对Node.js的掌握程度. 本文就为你罗列了10个常见的Node.js面试题,分别考察了Node.js编程相关的几个主要方面. ...
- Node.js + Web Socket 打造即时聊天程序嗨聊
前端一直是一块充满惊喜的土地,不仅是那些富有创造性的页面,还有那些惊赞的效果及不断推出的新技术.像node.js这样的后端开拓者直接将前端人员的能力扩大到了后端.瞬间就有了一统天下的感觉,来往穿梭于前 ...
- 深入浅出Node.js(一):什么是Node.js
Node.js从2009年诞生至今,已经发展了两年有余,其成长的速度有目共睹.从在github的访问量超过Rails,到去年底Node.jsS创始人Ryan Dalh加盟Joyent获得企业资助,再到 ...
- 使用node.js制作简易爬虫
最近看了些node.js方面的知识,就像拿它来做些什么.因为自己喜欢摄影,经常上蜂鸟网,所以寻思了一下,干脆做个简单的爬虫来扒论坛的帖子. 直接上代码吧. var sys = require(&quo ...
- 深入浅出Node.js(一):什么是Node.js(转贴)
以下内容转自:http://www.infoq.com/cn/articles/what-is-nodejs/ 作者:崔康 [编者按]:Node.js从2009年诞生至今,已经发展了两年有余,其成长的 ...
随机推荐
- 元素“Button”不是已知元素。原因可能是网站中存在编译错误,或者缺少web.config文件
最近开发的时候ASP控件都有波浪下划线,提示不是已知元素,搞得挺郁闷的.虽然不影响变异,不过就是不爽. 折腾N久...... 解决了,把FramWork平台换成3.5,问题解决,不知道为啥,求大神指点 ...
- Memcached简明介绍
官网介绍:http://memcached.org/ Free & open source, high-performance, distributed memory object cachi ...
- Windows Azure 社区新闻综述(#68 版)
欢迎查看最新版本的每周综述,其中包含有关云计算和 Windows Azure 的社区推动新闻.内容和对话. 以下是过去一周基于您的反馈汇集在一起的内容: 文章.视频和博客文章 在 Windows Az ...
- 仍需"敬请期待"的微信沃卡
从2013年7月30日广东联通联合腾讯公布将合作推出联通沃卡,到8月5日在易迅网上进行预订,8月8日正式发售,再到本人最近几日拿到预订的实卡,已经过去20多天了.于是乎,我怀着无比期待的 ...
- LDA Gibbs Sampling
注意:$\alpha$和$\beta$已知,常用为(和LDA EM算法不同) 1. 为什么可用 LDA模型求解的目标为得到$\phi$和$\theta$ 假设现在已知每个单词对应的主题$z$,则可 ...
- 杭电oj1326 Box of Bricks
Tips:先求出平均数再分别计算各数与平均数的差相加,注意两个测试结果之间要空一行 #include<iostream> using namespace std; int main() { ...
- Struts2 单文件上传
Struts2 提供了更为简便的文件上传机制,将文件上传的复杂操作都封装到commons-fileupload.jar .commons-io.jar两个jar包中,然后再程序中使用简单的几句代码就能 ...
- UNIX网络编程--读书笔记
会集中这段时间写UNIX网络编程这本书的读书笔记,准备读三本,这一系类的文章会不断更新,一直会持续一个月多,每篇的前半部分是书中讲述的内容,每篇文章的后半部分是自己的心得体会,文章中的红色内容是很重要 ...
- HTTP状态码(HTTP Status Code)【转】
HTTP状态码(HTTP Status Code) 一些常见的状态码为: 200 - 服务器成功返回网页 404 - 请求的网页不存在 503 - 服务不可用 所有状态解释:点击查看 1xx(临时响应 ...
- 百度Android语音识别SDK语义理解与解析方法
百度语义理解开放平台面向互联网开发人员提供自然语言文本的解析服务,也就是能够依据文本的意图解析成对应的表示. 为了易于人阅读,同一时候也方便机器解析和生成,意图表示协议採用 json 语言进行描写叙述 ...