Node.js初接触(一)
本来还在纠结着到底要学哪一种后台语言呢,突然发现node.js很火,既然能被这么多人推崇,自然是有他的优势的。去百度百科看了一眼,或许是我理解能力太差,并没有了解到很多关于node.js的东西,大概就是知道了Node.js是一种用javascript来编写的服务器端脚本,而node就是提供Javascript运行的平台。好吧,还是模模糊糊,嗯,越是不清楚,就越是能激发我的学习欲望。
今天算是正式开始自学了,我发现对于这个新技术,学习的资源好像不是很多,书和视屏都不是很多,而且据大家评价,即使是入门书,看起来也是很费劲的。有点小惊讶,node.js这么难吗?最后找了一本 Node入门 ,然后下载安装node.js,下载安装Git Bash(windows下的命令工具,其实也不清楚是不是用这个,先摸索看看),好了,准备工作就做好了,那就开始学吧。
照例,第一个例子是 Hello World,好吧,问题来了,写好的 console.log("Hello World"); 这个js文件要存在哪个目录里呢,也就是node默认的搜索路径是什么呢?兴许是我太笨了,居然连这个都不知道,不知道有没有别的初学者跟我有一样的问题。既然问题来了那就解决吧,各种搜索查找了很久,未果。嗯,那我就自己来试吧,无外乎安装的那几个目录嘛,一个个的总能试到的,果然是试玩了所有的安装目录都不对呀,有点小崩溃。这时候我突然看到了一条提示消息,Cann't find module 'C:\Users\dandan\hello.js',好吧,原来在这里,嗯,第一个小例子终于弄好了。继续看书,搭建服务器模块:
var http = require("http");
http.createServer(function(request, response) {
response.writeHead(200, {"Content-Type": "text/plain"});
response.write("Hello World");
response.end();
}).listen(8888);
嗯,就这样照着书上做吧,一边看一边做差不多用了六个小时就吧这本四十多页的书过完了,以下是我第一遍看完学到的一点点东西:
1.node.js自带了一个http模块,这个模块提供了一个函数:createServer,这个函数会返回一个对象,这个对象有一个叫listen的方法,这个方法有一个参数,指定http服务器监听的端口号。
2.node.js里有三个内置对象(我目前所知的三个):require:用于在当前模块中加载和使用别的模块;
exports:用于导出模块的公有方法和属性;
module:多用于替换当前模块的导出对象。
3.一个比较完整的服务器脚本由服务器,请求路由及请求处理程序组成。
4.几个在Javascript里没见过的语法:querystring,fs,formidabled……鉴于刚接触,不敢乱写,这几个要深入学习之后再写。
总结一下,虽说node.js也用的是Javascript语言,但是感觉还是很不一样,应该是跟写前端的思想不一样,有点转换不过来,虽然语法代码写写查查都能明白的差不多,但是深深的感觉到思想跟不上,这才是侦结所在。另外,如果有Linux基础的,来学这个应该是有不少帮助的。嗯,继续吧,把书再从头看一遍。
Node.js初接触(一)的更多相关文章
- node.js 初体验
node.js 初体验 2011-10-31 22:56 by 聂微东, 174545 阅读, 118 评论, 收藏, 编辑 PS: ~ 此篇文章的进阶内容在为<Nodejs初阶之express ...
- Node.js初体验
1.Node.js是什么 [1]Node是一个server端 JavaScript 解释器,但是真的以为JavaScript不错的同学学习Node就能轻松拿下,那么你就错了.总结:水深不深我还不知道, ...
- Angular-Chart.js 初接触;;;
可以先看下下面的链接,了解下, 推荐链接 准备工作 JS文件{angular.js.Chart.js.angular-chart.js} 这3个文件我的获取难易程度:Chart.js > ang ...
- JS一般般的网页重构可以使用Node.js做些什么(转)
一.非计算机背景前端如何快速了解Node.js? 做前端的应该都听过Node.js,偏开发背景的童鞋应该都玩过. 对于一些没有计算机背景的,工作内容以静态页面呈现为主的前端,可能并未把玩过Node.j ...
- Node.js学习笔记(一)基础介绍
什么是Node.js 官网介绍: Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js us ...
- Node.js 基础介绍
什么是Node.js 官网介绍: Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js us ...
- Node.js API 初解读(一)
Node.JS API 初解读 Version: NodeJs v6.2.0 一. Assert 1.简介 Assert模块主要用于断言.如果表达式不符合预期,就抛出一个错误. 该模块用于编写程序的单 ...
- Node.js API 初解读(三)
目录 Node.JS API 初解读三 Node.JS API 初解读三 Version: NodeJs v6.2.0 一. DNS (Domain Name Server) [域名服务器] 1.简介 ...
- node.js + express 初体验【hello world】
[node.js] 一个神奇的XX 呵呵 :) 不知道怎么形容他才好! [express] 是node.js 开发web应用程序的框架 开发环境:XP 大家共同进步吧 :) 一:前期准备: 1:下载 ...
随机推荐
- 2018.10.24-day3 python总结
昨日回顾:1.while2.运算符3.初始编码4.补充p2和p3的区别 Python2 (1) 今日学习目录1.整型 int() 2.布尔值 bool() 3.字符串详解 4. for循环
- Brouwer fixed-point theorem
w https://en.wikipedia.org/wiki/Brouwer_fixed-point_theorem https://zh.wikipedia.org/wiki/布劳威尔不动点定理 ...
- 理解CSS3属性transition
一.说明 1.1 定义和用法 transition 属性是一个简写属性,用于设置四个过渡属性: transition-property:规定设置过渡效果的CSS属性的名称. transition-du ...
- Oracle中索引名称的唯一性
数据库索引处理是遇到的一点问题,简单记录下 oracle的规定,在同一个SCHEMA下的对象是不能用相同的名字命名的,一般创建索引名用“表名_字段名”,这样能很快知道这个索引,是属于哪个表的. col ...
- Python代码实现删除一个list里面的重复元素
lst=[11,22,33,44,22,11,22,44] print(list(set(lst))) # 打印结果:[33, 11, 44, 22] d = {} for index,item in ...
- 爬虫,如何防止被ban之策略大集合
话说在尝试设置download_delay小于1,并且无任何其他防止被ban的策略之后,我终于成功的被ban了. 关于scrapy的使用可参见之前文章: http://blog.csdn.net/u0 ...
- 爬虫基础库之requests模块
一.requests模块简介 使用requests可以模拟浏览器请求,比起之前用到的urllib,requests模块的api更加快捷,其实ruquests的本质就是封装urllib3这个模块. re ...
- 04 Spring框架 依赖注入(一)
整理了一下之前学习spring框架时候的一点笔记.如有错误欢迎指正,不喜勿喷. 上一节我们讲了几个bean的一些属性,用来限制我们实例创建过后的状态. 但是细心的我们会发现其实上面demo创建的实例并 ...
- linux切换用户命令
1. 切换用户的命令为:su +username 2.从普通用户切换到root用户:sudo su 3.退回到原来的用户:exit命令或logout,或者ctrl+d 4.如果要切换到新用户的工作环境 ...
- 跨平台移动开发_PhoneGap 使用Accelerometer 加速器
使用Accelerometer 加速器效果图 示例代码 <!DOCTYPE html> <html> <head> <title> Cude Phone ...