node.js基础

node 基础

<div>
    <button type="primary">{{message}}</button>
    <complex-com></complex-com>
</div>

data() {
    return {
        message:'hello'
    }
},
methods: {
    apiGetData() {
        this.message = '提交中'
        getData().then(res => {
            this.message = '提交完毕';

        })
    }
}

命令式编程

一. node 是什么?

Node.js 是⼀个 JS 的服务端运⾏环境,基于 V8,是在 JS 语⾔规范的基础上,封装了⼀些服务端的runtime,让我们能够简单实现⾮常多的业务功能。

Node.js 在2009年(第一版npm被创建)诞生之初是为了实现高性能的 web 服务器,再后来 Node.js 慢慢演化为了一门服务端“语言”。

  • commonjs 是一个 规范,nodejs 是 cjs 的实现。

LAMP

  • Linux + Apache + MySQL + php; (thinkPhP, CI)
    MEAN
  • mongoDB + express + angular + node.js 2014年
node 能做哪些事情?

npm run start 运行了node.

  • 跨平台开发: PC web H5 RN Weex
  • 后端开发: API, RPC
  • 前端开发: 前端工具链
  • 工具开发:脚本、脚手架、命令行。
分类举例

压缩: UglifyJS, JSMin
管理: npm, yarn, bower,
模块系统: Commonjs, ESM
模块构建: Babel, Browserify, Webpack, Gulp, Grunt,
yeoman
slush
CRA, CLI

问题

new Thread()

  • 单线程很脆弱,但是可以通过 cluster / pm2 多核并发实现负载均衡;
  • node 对 MongoDB, Mysql, redis / neo4j, tigerGraph;
  • 安全问题
和浏览器的区别
  • Node 环境中是没有 DOM, BOM, 同样的,浏览器中也没有 fs, path 这些模块。
    • why? 如果浏览器支持 fs 会怎么样?
  • 事件循环
    • node 的事件循环
    • 浏览器: 微任务、宏任务、raf、 render、 requestIdleCallback
  • cjsesm
    • Node.js 使用 CommonJS 模块系统,而在浏览器中我们开始看到正在实施的 ESM 标准。
具体的内核
node 安装

这个应该不用说,所有可以进行现代化前端开发的小伙伴,都正在使用。

  • nvm
    是一个 node 版本管理工具。
  • nrm
    用于对 node 镜像源进行设置。
  • npm

二. npm 相关

gem-Ruby pip-Python maven-java

maven 全局包管理。

spring-framework 2.2.0

org/java/apache/spring/spring-framwork/2.2.0 2.2.1 2.2.2

npm 的目标?

给你和你的团队、你的公司带来最好的开源库和依赖。

npm install 工作原理
npm 缓存

npm config get cache
yarn cache dir

npm CI

和 install 不同的是,

  1. 必须要有 package-lock.json 文件,
  2. 且下载完全依赖该文件;
  3. 会删除 node_modules;
  4. 如果和 package.json 冲突,则直接报错。
  5. 只能一次性安装;
  6. 永不改写 package.json 和 package-lock.json 文件。
npm 的包依赖关系

npm dedupe;

xxxDependencies

比如,我们要构建一个 公共组件库。
luyi-ui

dependencies 项目依赖

lodash (debounce, deepMerge)

devDependencies 开发依赖

webpack, rollup, jest

peerDependencies 同版本依赖

vue 组件库。
如果说你连 vue 都没,那这个项目对你来说,没有意义。

bundledDependencies 捆绑依赖

{
bundle1, bundle2
}

optionalDependencies 可选依赖

可选依赖。

二. commonJS 模块化

什么是 cjs 的模块化

为什么会有 cjs 这种东西,讲一段历史。

手写一个 cjs 规范
关于模块化的问题和说明
一起看看源码
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕业设计,基于SpringBoot+Vue+MySQL开发的体育馆管理系统,源码+数据库+毕业论文+视频演示 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本体育馆管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到事半功倍的效果。此体育馆管理系统利用当下成熟完善的SpringBoot框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的Mysql数据库进行程序开发。实现了用户在线选择试题并完成答题,在线查看考核分数。管理员管理收货地址管理、购物车管理、场地管理、场地订单管理、字典管理、赛事管理、赛事收藏管理、赛事评价管理、赛事订单管理、商品管理、商品收藏管理、商品评价管理、商品订单管理、用户管理、管理员管理等功能。体育馆管理系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。 关键词:体育馆管理系统;SpringBoot框架;Mysql;自动化
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值