美文网首页
NodeJs 快速开始

NodeJs 快速开始

作者: Mr_Hugo | 来源:发表于2016-10-13 16:53 被阅读286次

    NodeJs安装

    下载

    官网:https://nodejs.org/en/
    下载:nodeJs
    LTS:长期支持版本
    Stable:测试版
    一般情况下,只需要下载 LTS 版就可以了。
    macOS 版下载 的是pkg包; 双击下载的包,一直 Next 就可以了
    安装完成之后,打开终端

    Paste_Image.png

    在终端中输入 node -v
    可以看到输出 v 4.4.3
    表示我现在安装的是 4.4.3 版,这说明已经安装好了

    模块的概念

    在终端中创建一个目录

    Paste_Image.png

    然后在目录中创建两个文件

    Paste_Image.png

    然后我们用编辑打开当前目录

    Paste_Image.png

    在 module2.js 中输入:

    module.exports = function(){
        console.log('I am a method from module2 ');
    }
    

    在 module1.js 中输入

    var module2 = require('./module2');
    module2();
    
    

    保存文件之后,在终端中通过 node 执行 module1

    node module1
    
    Paste_Image.png

    修改一下 module2.js

    module.exports = function(){
        console.log('I am a method from module2 ');
    }
    module.exports.someProperty = 'someProperty from module2';
    

    也修改一下 module1.js

    var module2 = require('./module2');
    module2();
    
    console.log('module2.someProperty: ', module2.someProperty);
    

    然后在终端中,重新执行 node

    Paste_Image.png

    通过上述例子只是说明
    require 导入对某一模块的依赖。
    module.exports 将模块导出。

    NPM简介

    NodeJs 生态有很多开源的模块,可以通过 npm 的方式加载到项目中
    首先,我们先初始化项目

    NodeJs 初始化

    NodeJs 项目初始化可以通过下面来执行
    npm init
    初始化之后,会自动生成一个 package.json 的文件,这个文件对项目过程中要用到的包进行管理。

    {
      "name": "hello-nodejs",
      "version": "1.0.0",
      "description": "",
      "main": "module1.js",
      "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1"
      },
      "author": "",
      "license": "ISC",
      "dependencies": {
        "lodash": "^4.16.4"
      }
    }
    
    • dependencies 管理项目的必需的依赖
    • devDependencies 管理着是开发时需要依赖的包
      如何添加一个资源包呢?
      比如添加一个 underscore 的包,可以在终端中输入
    npm install underscore --save
    

    参数--save表示加载到dependencies
    如果使用参数--dev-save则会加载到devDependencies

    结束之后可以发现package.json 已经改变了

    {
      "name": "hello-nodejs",
      "version": "1.0.0",
      "description": "",
      "main": "module1.js",
      "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1"
      },
      "author": "",
      "license": "ISC",
      "dependencies": {
        "lodash": "^4.16.4",
        "underscore": "^1.8.3"
      }
    }
    

    在 dependencies 中多了一行

    "underscore": "^1.8.3"

    HTTP Server

    在 hello-nodejs 目录下新增一个 index.js 的文件

      touch index.js
    

    首先 HTTP Server 需要依赖 Node 内置的 http 模块

    var http = require('http');
    var server = http.createServer(function ( req, res ) {
      res.write('hello NodeJs');
      res.end();
    });
    
    server.listen(3000);
    

    然后在终端中:

    node index
    如果没有报错,就表示已经运行成功
    打开浏览器访问 http://localhost:3000

    Paste_Image.png

    可以看到,在createServer 方法的 回调函数中有两个参数:

    Paste_Image.png

    通过 req 参数可以获得 Header,Url等信息
    示例:
    修改 index.js代码:

    var http = require('http');
    var server = http.createServer(function ( req, res ) {
      res.write('hello NodeJs\n');
      res.write(JSON.stringify(req.headers));
      res.end();
    });
    
    server.listen(3000);
    

    然后在终端重新

    node index
    然后在浏览器可以看到

    Paste_Image.png

    相关文章

      网友评论

          本文标题: NodeJs 快速开始

          本文链接:https://www.haomeiwen.com/subject/avdiyttx.html