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文件,引入时需要加'./'或者'../'.      不会往上级查找,当前目录找不到则会报错

posted @ 2018-10-26 18:02  小仙女63  阅读(137)  评论(0编辑  收藏  举报