• node基础


    node是一个运行的平台,支持JS语言,可以写后台的服务。

    node的特点:基于win8引擎渲染,渲染速度快,效率高,性能好。

                           基于事件驱动的I/O(输入/输出)操作

                           单线程的,所以基本是异步的操作    

                          遵循CommaonJS规范,提供模块机制,包管理(通过npm命令安装包(第三方模块)),模块的导入导出,内置模块(http,fs,url,path......)

                          每一个文件就是一个模块

    推荐两本书:node深入浅出 node权威指南

    运行node文件:右键 run a.js

                              命令行运行 node a.js(前提:进入a.js所在目录)

    node 进入REPLl环境,相当于浏览器的控制台  ctrl+c退出

    模块之间的导出和引入

    Module.exports = { }     一次性全部导出

    exports.xxx = xxx   一个一个导出

    模块只有导出后,其他模块才能用这个模块中封装的功能

    模块的引入:

    若想使用其他模块的内容  先通过require引入进来,a相当于a模块导出的对象

    let a = require("./a");      //js,json文件后缀可不写

    let sum = (...arg)=>{
        return eval(arg.join('+'));
    }
    let fn = (a,b)=>{
        return Math.sqrt(Math.pow(a,2) + Math.pow(b,2));
    }
    module.exports = {
        sum,
        fn
    }
    a.js
    /*拿到的是对象*/
    let a = require('./a');
    console.log(a.sum(1, 2, 3));
    console.log(a.fn(3, 4));
    
    /*对象解构赋值*/
    let {sum,fn} = require('./a');
    console.log(sum(10, 10, 10));
    console.log(fn(3, 4));
    b.js

    node模块分类:

    node内置模块:

    http,fs,url,path,queryString......不需要安装 直接使用 

    直接通过require(‘http’)引入内置模块,不需要安装

    项目初始化:

    告诉别人项目的相关(例如:名称 版本 入口文件 按照的第三方模块等) npm init  初始化package.js文件

    一键生成 npm init -y

    安装第三方模块:别人封装好的插件和库 放在npm平台

                                 npm install 包名 安装到本地

                                 npm install jquery 表示安装生产环境(项目上线时)所需要的包     dependencies

                                 npm install less -D 表示安装开发环境所需要的包   devDependencies

    使用第三方模块:let $ = require('mime');

    从线上弄下的项目,是没有安装的第三方模块,但是package.js里会记录之前安装的模块===>npm install跑环境(安装package.js里所需要的模块)

    模块查找机制:(node_modules)

    全局下安装目录 npm install less -g

    全局下安装的会设计到包版本冲突的问题,所以尽量少安装在全局下

    安装在全局下是适合命令操作的,而不是引入操作   例如less

    通过命令操作的包,本地找不到会去全局查找

    全局下直接找到lessc index.less

    安装在本地 需要再通过本地通过命令行配置使用 “build”:"lessc index.less"   npm run build

    自定义模块

    是自己创建的js文件,引入时需要加'./'或者'../'.      不会往上级查找,当前目录找不到则会报错

  • 相关阅读:
    ID:未找到命令-BASH:TTY:未找到命令
    连接/登录/访问 FTP超时、时间长,一条配置解决
    PlantUML integration plugin IDEA
    使用sc.exe delete 服务名 删除Windows下的【安装错误的、不能使用的】服务
    Eclipse JDT Icons(Java Development Tools 图标)
    Seata分布式事务——no available server to connect解决
    Slf4j Logger logger.info的使用
    SonarQube网页端登录失败的解决
    SpringBoot属性加载顺序
    W3School-SQL测验记录
  • 原文地址:https://www.cnblogs.com/Lia-633/p/9857927.html
Copyright © 2020-2023  润新知