这是我参与8月更文应战的第6天,活动概略查看:8月更文应战

Node.js简介

Node.js是一个根据Chrome V8引擎的、跨途径的windows键是哪个JavaSjava开发cript运转环境。

在同一个设备上怎样快速切换Node.js版别?

  • n: 一个npm大局的开源包,是依托nwindows怎样激活pm来大局安缓存视频怎样转入相册装、运用的。
  • fnm: 快速简略,兼容性支撑.node-version和.nvmrc文件
  • nvm: 独立的软件包,Node Version Manager

Node.js的特色

异步I/O

当Node实施IO操作时,会在照应回来并康复操作,而不是阻塞线程并糟蹋CPU循环等候。

【青训营】- Node.js根底入门笔记 - 上

单线程

Node保持了JS在浏览器中单线程的特色。在浏览器中,有browser进程,插件进程,GPU进程,烘托进缓存视频合并程。

  • 利益:不用处处介怀状态同步的缓存视频在手机哪里找问题,不会产生死锁,没有线程上下文切换带来的功用开支。
  • 缺陷:无法运用多核CPU。过错会引起整个运用退出,健壮性缺乏。很多核女配每天都在抱大腿我要成仙算占用导致CPU无法持续实施。

跨途径

兼容Windows*nix途径,主要得益于在操作体系与Node.js上层模块之间构建了一层途径架构。node适宜IO密集型领域。
【青训营】- Node.js根底入门笔记 - 上

模块化机制

何为模块化?

根据功用或业务将一个大程序拆分红相互依托的小文件,再用简略的方法拼接起来。

2.为什么需求模块windows10激活密钥化?无模块化会有哪缓存是什么意思些问题

一切script标签有必要确保次第正确,否则会依托报错。

大局变量存在命名抵触,占用内存无法被回收。

IIFE/namespace会导致代码可读性低一级许多问题。

CommonJS规缓存视频合并app下载

Node.js支撑Cwindows10激活密钥ommonJS模块标准,选用同步机制加载模块。

加载方法

  1. 加载内置模块 require(‘fs’)
  2. 加载 相对或肯定途径的文件模块
  • rejava初学quire(‘/User/…/file.js’)
  • require(‘./file.js’javascript)
  1. 加载nwindows体系pm 包 requ缓存是什么意思ire(‘lodash’)

Npm 包查找原则

以require(‘lodash’)为例,查找的次第分别为:

  • 当时目录 node_modules

  • 假定没有,父级目女配每天都在抱大腿我要成仙录的ndoe_modules

  • 假定没有,沿着途径向上递归,直到根目录下node_modules

  • 找到之后会加载package.json.main指向的文件,假定没有packa女配美炸天ge.json则顺次查女配每天都在抱大腿我要成仙找Index.js、index.json、indexwindows体系.nodjava怎样读e

【青训营】- Node.js根底入门笔记 - 上

缓存

require.cache中缓存着加载过的模块,缓存的原因:同步加载java开发

  1. 文件模块查找耗不时,假定每次require都需求从头遍历查找,功用会比较差;
  2. 在实践开发中,模块或许软件工程专业包含副作用代码。

软件技术专业他模块化标准

  • AMD是Requi软件库蓝奏云reJS在推行过程中标准化产出,异步加载,推重依托前置;

  • CMD是SeaJS女配没有求生欲txt在推行过程中标准化产出,异步加载,推重就近依托;

  • UMD标准兼容AMD和CommonJS方式

  • E软件库蓝奏云S Modules(ESM),言语层面的模块化标准,与环女配美炸天境无关,可凭仗babel编译

【青训营】- Node.js根底入门笔记 - 上

包管理机制

npm介绍

npm是Node.js 的包管理器。文件NPM目录最少有index.js和package.json,一软件商店下载个包里能够包含多个模块,一个模块里又能够依托多个软件技术包。常用命令有:

npm init
n软件商店pm config
npm run [cmd]
npm install [pkg]
npm uninstall [pkg]
npm up软件工程专业date [pkg]
npm info [pkg]
npm publish

这里看一下package.json里面有哪些东西

  • name 包称号
  • version 版别号
  • main 进口文件
  • scripts 实施脚本
  • dependencies 线上依托
  • devDependencies 开发依托
  • repository 代码保管地址

除此之外还有许多装备等候挖掘windows键是哪个

许多包会常常更新,那么版别号怎windows体系样去写?便当咱们开发时运用呢?

【青训营】- Node.js根底入门笔记 - 上
能够通过这个网站 查看包的各个版别。

依托

最下面两个很少用

  • dependencies 业务依托,运用发布后正软件常实施所需求的java环境变量装备

  • devDependencies 开发依托,只用于开发环境

  • peerDependencjava怎样读ies 相等依托,比方一个 webpack 插件依托特定女配没有求生欲版其他 webpack

  • bundledDependencies 打包依托(npm run pack),有NPM必要已经在 devDep 或许 dep声明过

  • optionalDependencies 可选依托

私有npm

平常的包一般都是保管在npmjs.com途径,可是有些公司内部的包,比方触及隐私的情况,所以公司一般有私有npm,能够发在私有途径上。缓存是什么意思

有时候下载某些包或许会遇到速度慢的问题,能够设置淘宝之类的私有代理,进步下载速度。

另外有时候会遇到锁包的情况,假定开发周期长版别更新或许伙伴不小心晋级java怎样读了自己的包版别,就或许带来兼容性软件工程问题。可缓存的视频怎样保存到本地以凭仗package-lock.java环境变量装备json锁文件,防止自动晋级版别。

现在npm版别出到了7了,后边还出了yarn和pnpm等东西,pnpm处理了Windows一些扁平化带来的问题。

除此之外,课程中还讲了异步编程web运用开发开发调试线上布置。我会放到下一篇持续记载笔记。