node.js相關整理

引入模塊

var foo1 = require('./foo');
加載使用JSON文件

var data = require('./data.json');
導出模塊方法和屬性

exports.hello = function () {
    console.log('Hello World!');
};
替換當前模塊的導出對象

module.exports = function () {
    console.log('Hello World!');
};
包:由多個子模塊組成的大模塊稱做,並把所有子模塊放在同一個目錄裏。
var head = require('./head');
var body = require('./body');

exports.create = function (name) {
    return {
        name: name,
        head: head.create(),
        body: body.create()
    };
};
在組成一個包的所有子模塊中,需要有一個入口模塊,入口模塊的導出對象被作爲包的導出對象。

package.json如果想自定義入口模塊的文件名和存放位置,就需要在包目錄下包含一個package.json文件,並在其中指定入口模塊的路徑。

{
    "name": "cat",
    "main": "./lib/main.js"
}

Linux

在Linux系統下,我們可以把JS文件當作shell腳本來運行,從而達到上述目的,具體步驟如下:

  1. 在shell腳本中,可以通過#!註釋來指定當前腳本使用的解析器。所以我們首先在node-echo.js文件頂部增加以下一行註釋,表明當前腳本使用NodeJS解析。

     #! /usr/bin/env node

    NodeJS會忽略掉位於JS模塊首行的#!註釋,不必擔心這行註釋是非法語句。

  2. 然後,我們使用以下命令賦予node-echo.js文件執行權限。

     $ chmod +x /home/user/bin/node-echo.js
  3. 最後,我們在PATH環境變量中指定的某個目錄下,例如在/usr/local/bin下邊創建一個軟鏈文件,文件名與我們希望使用的終端命令同名,命令如下:

     $ sudo ln -s /home/user/bin/node-echo.js /usr/local/bin/node-echo

這樣處理後,我們就可以在任何目錄下使用node-echo命令了。

Windows

在Windows系統下的做法完全不同,我們得靠.cmd文件來解決問題。假設node-echo.js存放在C:\Users\user\bin目錄,並且該目錄已經添加到PATH環境變量裏了。接下來需要在該目錄下新建一個名爲node-echo.cmd的文件,文件內容如下:

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

這樣處理後,我們就可以在任何目錄下使用node-echo命令了。

NPM

下載三方包

需要使用三方包時,首先得知道有哪些包可用。雖然npmjs.org提供了個搜索框可以根據包名來搜索,但如果連想使用的三方包的名字都不確定的話,就請百度一下吧。

$ npm install argv
...
[email protected] node_modules\argv

如果使用到的三方包比較多,在終端下一個包一條命令地安裝未免太人肉了。因此NPM對package.json的字段做了擴展,允許在其中申明三方包依賴。因此,上邊例子中的package.json可以改寫如下:

{
    "name": "node-echo",
    "main": "./lib/echo.js",
    "dependencies": {
        "argv": "0.0.2"
    }
}

發佈代碼

第一次使用NPM發佈代碼前需要註冊一個賬號。終端下運行npm adduser,之後按照提示做即可。賬號搞定後,接着我們需要編輯package.json文件,加入NPM必需的字段。接着上邊node-echo的例子,package.json裏必要的字段如下。

{
    "name": "node-echo",           # 包名,在NPM服務器上須要保持唯一
    "version": "1.0.0",            # 當前版本號
    "dependencies": {              # 三方包依賴,需要指定包名和版本號
        "argv": "0.0.2"
      },
    "main": "./lib/echo.js",       # 入口模塊位置
    "bin" : {
        "node-echo": "./bin/node-echo"      # 命令行程序名和主模塊位置
    }
}
  • NPM提供了很多命令,例如installpublish,使用npm help可查看所有命令。

  • 使用npm help <command>可查看某條命令的詳細幫助,例如npm help install

  • package.json所在目錄下使用npm install . -g可先在本地安裝當前命令行程序,可用於發佈前的本地測試。

  • 使用npm update <package>可以把當前目錄下node_modules子目錄裏邊的對應模塊更新至最新版本。

  • 使用npm update <package> -g可以把全局安裝的對應命令行程序更新至最新版。

  • 使用npm cache clear可以清空NPM本地緩存,用於對付使用相同版本號發佈新版本代碼的人。

  • 使用npm unpublish <package>@<version>可以撤銷發佈自己發佈過的某個版本代碼。





node.js中文API:http://nodeapi.ucdok.com/#/api/



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章