nodejs学习笔记

前端开发 作者: 2024-08-26 04:55:01
本文内容摘自七天学会NodeJS,摘抄内容只是本人觉得比较重要或者还没有理解的 模块 编写稍大一点的程序时一般都会将代码模块化。在NodeJS中,一般将代码合理拆分到不同的JS文件中,每一个文件就是一

本文内容摘自七天学会NodeJS,摘抄内容只是本人觉得比较重要或者还没有理解的

模块

require

var foo1 = require('./foo');
var foo2 = require('./foo.js');
var foo3 = require('/home/user/foo');
var foo4 = require('/home/user/foo.js');

// foo1至foo4中保存的是同一个模块的导出对象。
var data = require('./data.json');

exports

exports.hello = function () {
    console.log('Hello World!');
};

module

module.exports = function () {
    console.log('Hello World!');
};

模块初始化

包(package)

- /home/user/lib/
    - cat/
        head.js
        body.js
        main.js
var head = require('./head');
var body = require('./body');

exports.create = function (name) {
    return {
        name: name,head: head.create(),body: body.create()
    };
};

index.js

var cat = require('/home/user/lib/cat');
var cat = require('/home/user/lib/cat/index');

package.json

- /home/user/lib/
    - cat/
        + doc/
        - lib/
            head.js
            body.js
            main.js
        + tests/
        package.json
{
    "name": "cat","main": "./lib/main.js"
}

Windows

@node "C:\User\user\bin\node-echo.js" %*

NPM

下载三方包

$ npm install argv@0.0.1
...
argv@0.0.1 node_modules\argv
{
    "name": "node-echo","main": "./lib/echo.js","dependencies": {
        "argv": "0.0.2"
    }
}
- project/
    - node_modules/
        - node-echo/
            - node_modules/
                + argv/
            ...
    ...

发布代码

{
    "name": "node-echo",# 包名,在NPM服务器上须要保持唯一
    "version": "1.0.0",# 当前版本号
    "dependencies": {              # 三方包依赖,需要指定包名和版本号
        "argv": "0.0.2"
      },# 入口模块位置
    "bin" : {
        "node-echo": "./bin/node-echo"      # 命令行程序名和主模块位置
    }
}

版本号

+ 如果只是修复bug,需要更新Z位。

+ 如果是新增了功能,但是向下兼容,需要更新Y位。

+ 如果有大变动,向下不兼容,需要更新X位。
url.format({
    protocol: 'http:',host: 'www.example.com',pathname: '/p/a/t/h',search: 'query=string'
});
/* =>
'http://www.example.com/p/a/t/h?query=string'
*/
url.resolve('http://www.example.com/foo/bar','../baz');
/* =>
http://www.example.com/baz
*/
原创声明
本站部分文章基于互联网的整理,我们会把真正“有用/优质”的文章整理提供给各位开发者。本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
本文链接:http://www.jiecseo.com/news/show_68787.html
nodejs学习笔记