XuLizhao 's Notes

时光,漫步


  • 首页

  • 技术

  • 文档

  • 关于

  • 搜索
close

NodeJS开发

时间: 2018-02-05 更新于: 2023-03-26   |   分类: Tech     |   阅读: 1317 字 ~3分钟

因为最近使用的两个博客系统都是基于NodeJS开发的,也顺便谈谈我理解的JavaScript及前端开发.

NodeJS的是伴随Chrome的V8 Engine而出现,由于JS群众基础及高性能而快速发展,本质是它使用类似Nginx的事件循环模型可以处理极高的并发请求.

异步IO及基于NodeJS的第三方库都提供的异步版本,使得较简单的编程模型带来极高的性能, JavaScipt这一应用于前端开发的古老语言焕发出新的生机.

早期前端开发的JavaScript由于要处理浏览器版本兼容且语言本身问题,充斥着丑陋的代码. 伴随着JQuery及第三方框架/库的流行,JavaScript也变得优美起来.

前端开发三剑客: HTML + CSS + JavaScript这些年随着新标准的发展也比我最初接触时强大易用多了, 一切事物还真得以发展的眼光看待,技术领域尤其容不得偏见.

因为偶尔会忘记,下面记些简单的笔记:

NodeJS

Node是一个JS应用的平台,而不是框架. 尤其适用于数据密集型实时服务和大并发量/小数据块的长连接场景.

  • 匿名函数调用也被称为回调(a.k.a callback)
  • steams是随时间进行的数据分发

安装

稳定版本: 14/16.x

Linux二进制安装

参考文档

# Using Ubuntu
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt-get install -y nodejs

# or
sudo snap install node --classic
# 初始工作

# 使用国内镜像加速
npm config set registry https://registry.npmmirror.com
# or
npm install --registry=https://registry.npmmirror.com

卸载

# Ubuntu
sudo rm -rf /usr/local/lib/node_modules
sudo rm -rf ~/.npm
# Mac
brew uninstall --force node

node多版本

使用n管理多版本

npm install -g n
n stable  # n lts

使用nvm管理多版本

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash
nvm install node
nvm use node

包管理/依赖管理

npm

选项说明:

  • -g: 代表全局
  • –save: 将模块安装到项目目录下,并在package文件的dependencies节点写入依赖
# 创建package.json
npm init

# 安装依赖库
npm i vue-cli -S
npm install vue --save-dev

# 更新包
npm update cypress
npm install cypress@latest
# 查看全局可更新版本
npm outdated -g --depth=0

# 使用第三方工具
npm i -g npm-check-updates
ncu -u
npm install

# 全局卸载
npm uninstall vue-cli -g

Yarn

Facebook出品替代npm的新工具

# Node.js >=16.10
corepack enable
# Node.js <16.10
npm i -g corepack

# https://yarnpkg.com/lang/en/docs/install/
# Using Mac
brew install yarn  # 会自动安装Node
brew install yarn --without-node  # 使用node版本管理工具安装

# Using Ubuntu 
curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/yarnkey.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update && sudo apt-get install yarn
# 全局安装
yarn global add @vue/cli
# 全局更新
yarn global upgrade --latest @vue/cli
# 全局卸载
yarn global remove vue-cli

# 更新
yarn upgrade cypress
# 添加到PATH
vi ~/.zshrc
export PATH=/home/xulz/.yarn/bin:$PATH

资源

  • Mac使用指南
  • How To Install Node.js on Ubuntu 16.04

前端工具集

本地预览

live-server

pnpm add -g live-server

# or
yarn global add live-server
# ~/.yarn/bin

# 本地预览,默认端口8080
live-server
# 指定端口
live-server --port 9000

构建工具

注: 前面出现的较新

自动化构建工具

Gulp vs. Grunt

把依赖全部提取到一个文件

webpack vs. browserify

桌面开发Electron

最早知道基于HTML+CSS+JavaScript的桌面开发是看到豌豆荚团队的访谈,知道了基于Chromium的CEF框架.

之后不断演进出优秀的Electron,该框架极大的简化了跨平台开发的成本,你很难想象VSCode,Slack等工具是基于Electron和Web开发技术做出来的.

后端开发

koa

Express继任者,用于api或其他服务快速开发

nodemon

自动监控变更并重启服务,适用于开发环境

npm install -g nodemon

JavaScript

Babel

JavaScript转换器,把高版本(ES标准)转换为浏览器兼容版本

JS语言增强

  • TypeScript
  • CoffeeScript

资源

  • MDN学习资源

CSS

CSS扩展语言

  • Less
  • Stylus
  • Saas

响应式设计

资源

  • @media 控制不同尺寸设备的显示
  • CSS3 模板
  • MDN学习资源

链接

  • 百度的轮子
  • Babel : Facebook出品
  • Grunt
  • 本文作者: xulizhao
  • 本文链接: https://xulizhao.com/blog/nodejs/
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
分布式系统的那些论文及开源实现
静态博客Hexo
  • 文章目录
  • 站点概览

xulz

时光,漫步

56 日志
3 分类
28 标签
  • NodeJS
    • 安装
    • node多版本
    • 包管理/依赖管理
    • 资源
  • 前端工具集
    • 本地预览
    • 构建工具
    • 桌面开发Electron
    • 后端开发
  • JavaScript
    • Babel
    • JS语言增强
    • 资源
  • CSS
    • CSS扩展语言
    • 响应式设计
    • 资源
  • 链接
© 2017 - 2023 XuLizhao 's Notes
Powered by - Hugo/ NexT
津ICP备17010344号-1
0%