zoukankan      html  css  js  c++  java
  • Nodejs入门简介

    Node.js

    1. 什么是Node.js

    Node.js就是运行在服务端的JavaScript

    是一个基于Chrome JavaScript运行时建立的一个平台

    Node.js 是一个事件驱动I/O服务端JavaScript环境,基于Google的v8引擎,V8引擎执行JavaScript的速度非常快,性能而非常好

    2. Node.js 安装

    2.1 windows安装

    Node.js下载地址

    直接下载然后选择安装目录安装即可

    node -v #显示安装版本
    

    2.2 Linux安装

    # 1.下载 二进制文件
    wget https://npm.taobao.org/mirrors/node/v14.3.0/node-v14.3.0-linux-x64.tar.xz
    tar xf node-v14.3.0-linux-x64
    mv node-v14.3.0-linux-x64 /usr/local/nodejs
    # 2. 配置环境变量
    vim /etc/profile
    export PATH=$PATH:/usr/local/nodejs
    source /etc/profile #立即生效
    # 3. 查看安装结构
    node -v #安装成功
    v14.3.0
    

    3. 入门

    3.1 控制台输出

    > vim demo1.js
    ------------------
    var a=1;
    var b=2;
    console.log(a+b);
    ------------------
    > node demo1.js
    3
    

    3.2 使用函数

    vim demo2.js
    -----------------
    var c=add(100,200);
    console.log(c);
    function add(a,b){
    return a+b;
    }
    ------------------
    > node demo2.js
    300
    

    3.3 模块化编程

    创建文本demo3_1.js

    exports.add = function(a,b) {
    	return a+b;
    }
    

    创建文本demo3_2.js

    var demo = require('./demo3_1');
    console.log(demo.add(400,600));
    
    node demo3_2.js
    

    3.4 创建web服务器

    创建文件

    > vim demo3.js
    
    var http = require('http');
    // http为node内置的web模块
    http.createServer(function (request, response) {
        // 发送 HTTP 头部
        // HTTP 状态值: 200 : OK
        // 内容类型: text/plain
        response.writeHead(200, {'Content‐Type': 'text/plain'});
        // 发送响应数据 "Hello World"
        response.end('Hello World
    ');
    }).listen(8888);
    // 终端打印如下信息
    console.log('Server running at http://127.0.0.1:8888/');
    

    运行

    > node demo4.js
    

    访问

    > curl http://localhost:8888
    Hello World
    

    3.5 接收参数

    var http = require('http');
    var url = require('url');
    http.createServer(function(request, response){
    response.writeHead(200, {'Content‐Type': 'text/plain'});
    // 解析 url 参数
    var params = url.parse(request.url, true).query;
    response.write("name:" + params.name);
    response.write("
    ");
    response.end();
    }).listen(8888);
    console.log('Server running at http://127.0.0.1:8888/');
    

    4. 包资源管理器 NPM

    4.1 什么是NPM

    npm全称Node Package Manager,它是node包管理器和分发工具,其实可以把NPM理解成前端的Maven

    通过npm可以很方便的下载js库,管理前端程序,最近版本的node.js已经集成了npm工具

    > npm -v # 查看npm的版本
    6.14.5
    

    4.2 NPM 命令

    1. 初始化工程 init

    > mkdir npmlean & cd npmlean
    > npm init
    package name: 项目名称
    version: 版本号
    description: 对项目的描述
    entry point: 项目的入口文件(一般你要用那个js文件作为node服务,就填写那个文件)
    test command: 项目启动的时候要用什么命令来执行脚本文件(默认为node app.js)
    git repository: 如果你要将项目上传到git中的话,那么就需要填写git的仓库地址
    keywirds: 项目关键字
    author:  作者的名字
    license:  发行项目需要的证书
    # 最后会生成一个package.json文件,这个是包配置文件,相当于java里面的pom.xml
    

    2. 本地安装 npm install

    install 命令用于安装某个模块,如果想要安装express(node的web框架)输入:

    npm install express
    

    项目的目录下出现node_modules文件夹和package-lock.json

    • node_modules: 用于存放下载的js库(相当于java的maven仓库)

    • package-lock.json:是当 node_modules 或 package.json 发生变化时自动生成的文件。

      这个文件主要功能是确定当前安装的包的依赖,以便后续重新安装的时候生成相同的依
      赖,而忽略项目开发过程中有些依赖已经发生的更新。

    关于版本号

    指定版本:比如1.2.2,遵循“大版本.次要版本.小版本”的格式规定,安装时只安装指定版
    本。
    波浪号(tilde)+指定版本:比如~1.2.2,表示安装1.2.x的最新版本(不低于1.2.2),但
    是不安装1.3.x,也就是说安装时不改变大版本号和次要版本号。
    插入号(caret)+指定版本:比如ˆ1.2.2,表示安装1.x.x的最新版本(不低于1.2.2),但
    是不安装2.x.x,也就是说安装时不改变大版本号。需要注意的是,如果大版本号为0,则插
    入号的行为与波浪号相同,这是因为此时处于开发阶段,即使是次要版本号变动,也可能带来
    程序的不兼容。
    latest:安装最新版本。
    

    3. 全局安装 npm install * -g

    刚才我们使用的是本地安装,会将js库安装在当前目录,而使用全局安装会将库安装到你
    的全局目录下。

    # 如果你不知道你的全局目录在哪里,执行命令
    npm root ‐g
    # 比如我们全局安装jquery, 输入以下命令
    npm install jquery -g
    

    4. 批量下载 npm install

    我们从网上下载某些代码,发现只有package.json,没有node_modules文件夹,这时我
    们需要通过命令重新下载这些js库

    进入目录(package.json所在目录) 输入命令

    npm install
    

    此时npm会自动下载package.json中依赖的js库

    5. 淘宝NPM镜像 cnpm

    有时我们使用npm下载资源会很慢,所以我们可以安装一个cnmp(淘宝镜像)来加快下载速度。

    输入命令,进行全局安装淘宝镜像。

    npm install -g cnpm --registry=https://registry.npm.taobao.org
    

    查看cnpm版本

    cnpm -v
    

    使用cnpm

    cnpm install 需要下载的js库
    

    5. 运行工程 run

    如果我们想运行某个工程,则使用run命令

    如果package.json中定义的脚本如下

    • dev是开发阶段测试运行
    • build是构建编译工程
    • lint 是运行js代码检测
    # package.josn 配置启动的命令
    "scripts": {
        "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
        "start": "npm run dev",
        "build": "node build/build.js",
        "build:report": "npm_config_report=true node build/build.js",
        "lint": "eslint --ext .js,.vue src",
        "test": "npm run lint"
      },
    

    运行程序

    npm run dev
    

    5. 编译 build

    npm run build
    

    生成后我们会发现只有个静态页面,和一个static文件夹

    这种工程我们称之为单页Web应用(single page web application,SPA),就是只有一
    张Web页面的应用,是加载单个HTML 页面并在用户与应用程序交互时动态更新该页面
    的Web应用程序。

    下一节Webpack

  • 相关阅读:
    设计模式-策略模式
    设计模式-建造者模式
    js助手函数
    Javascript使用函数做命名空间
    腾讯云scf云函数,python依赖安装与上传的正确姿势
    nodejs爬虫,服务器经常返回ECONNRESET或者socket hang up错误的解决方法
    http请求,服务器回复内容为乱码的一种可能解决方法
    js在动态定义的新对象中,属性为变量时,如何动态定义
    nodejs中使用request时出现unable to verify the first certificate的一种解决办法
    Ubuntu偶然出现在待机解锁时,密码输入肯定正确但却无法进入的一种可能性
  • 原文地址:https://www.cnblogs.com/smallwolf/p/12942000.html
Copyright © 2011-2022 走看看