0%

前言

  其实并没有一个官方的文档规定Node.js应用程序代码的风格,但Node.js代码分割有着一些“事实上的约定”,大多数项目的代码都一定程度上遵循了这一标准。 所以遵守这些约定还是有一定的必要的,因为它可能会让你的程序避免很多意外的错误和性能损失。

缩进

  选择两空格作为Node.js代码的缩进标记。为什么不用常见的四空格缩进呢?因为Node.js代码中很容易写出深层的函数嵌套,过多的空格会给阅读带来不便。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//正确的缩进
function func(boolVar) {
if (boolVar) {
console.log('True');
} else {
console.log('False');
}
};

//错误的缩进
function func(boolVar)
{
if (boolVar)
{
console.log('True');
}
else
{
console.log('False');
}
};
阅读全文 »

前言

Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。在使用Git之前,你需要去github官网去注册个账号。

Git安装

Git的安装很简单,直接下载一个git安装包,然后安装的时候一直next到finish就OK了。
Git安装完成后需要做要一下设置,设置usernameemail

1
2
3
4
$ git config --global user.name "your name"  
//your name为github注册的名字
$ git config --global user.email "your_email@youremail.com"
//your_email@youremail.com为github注册的邮箱
阅读全文 »

Url模块

url.parse(urlStr, [parseQueryString], [slashesDenoteHost])

将URL字符串转换为对象。有3个参数:

  • urlStr: url字符串。
  • parseQueryString:可选。设置为true时,会使用querystring模块来解析URL中德查询字符串部分,默认为 false。
  • slashesDenoteHost:可选。默认为false,//foo/bar 形式的字符串将被解释成 { pathname: ‘//foo/bar’ };
    如果设置成true,//foo/bar 形式的字符串将被解释成 { host: ‘foo’, pathname: ‘/bar’ }。
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    url.parse('http://www.jb51.net/article/61637.htm')
    //结果
    url {
    protocol: 'http:',
    slashes: true,
    auth: null,
    host: 'www.jb51.net',
    port: null,
    hostname: 'www.jb51.net',
    hash: null,
    search: null,
    query: null,
    pathname: '/article/61637.htm',
    path: '/article/61637.htm',
    href: 'http://www.jb51.net/article/61637.htm' }

    url.format(urlObj)

    将对象格式化为URL字符串,与url.parse()方法刚好相反。只有1个参数——urlObj,表示 URL对象。
    下面代码会将一串对象格式化为URL字符串:
    1
    2
    3
    url.format({protocol: 'http:',slashes: true,auth: null,host: 'www.jb51.net',port: null,hostname: 'www.jb51.net',hash: null,search: null,query: null, pathname: '/article/61637.htm',path: '/article/61637.htm',href:'http://www.jb51.net/article/61637.htm'})
    //结果
    'http://www.jb51.net/article/61637.htm'

    url.resolve(from, to)

    为URL或 href 插入或替换原有的标签。有2个参数:
  • from:源地址。
  • to:需要添加或替换的标签。
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    url.resolve('/one/two','three')
    //结果
    '/one/three'

    url.resolve('http://example.com','two')
    //结果
    'http://example.com/two'

    url.resolve('http://example.com/two','three')
    //结果
    'http://example.com/three'

QueryString模块

阅读全文 »

前言

Node.js是一个JavaScript运行环境,允许在后端(脱离浏览器环境)运行JavaScript代码。那么在后台中又是如何运行JavaScript代码的呢?Node.js使用了 Google 的V8 虚拟机(Google 的Chrome 浏览器使用的JavaScript 执行环境)来解释和执行 JavaScript代码。
初识Node.js,通过完成一个完整的基于 Node.js 的 web 应用来让自己对Node.js有个初步的认识,下面就是完成该应用的具体过程。

应用目标

  1. 用户可以通过浏览器使用我们的应用。

  2. 当用户请求 http://domain/start 时,可以看到一个欢迎页面,
    页面上有一个文本框和提交按钮。

  3. 用户可以在文本框输入相应的内容并提交表单,随后文本框的内容将被上传到
    http://domain/upload, 该页面完成上传后会把文本框内容显示在页面上。

应用不同模块分析

阅读全文 »

什么是Ajax?

Ajax (Asynchronous JavaScript and XML),是一种使网页实现异步更新的技术。Ajax的核心对象是XMLHttpRequest对象,XMLHttpRequest通过在后台与服务器进行少量数据交换,可以实现在不重新加载整个网页的情况下,对网页的某部分进行更新。
传统的网页(不用Ajax技术的网页),想要更新内容或者提交一个表单,就要重新载入页面。而如果让网页使用Ajax技术,通过后台跟服务器进行少量的数据交换,网页就可以实现异步局部更新。我们身边有很多Ajax的应用案例,如新浪微博、开心网等等。

Ajax的属性

1. responseText属性:作为响应主体被返回的文本。

2. responseXML属性:如果响应的内容类型是“text/xml”或“applocation/xml”,这个属性就将保存相应数据的XML DOM文档。

阅读全文 »