Translate

Nodejs

1. Nodejs 是运行在服务器上的js环境

2. 回调函数

3. 模块

module.exports = {function, function2}      在 a.js 中export function

const a = require("./a.js");                       在 b.js 中就可以使用 function

4. web服务器输出内容

var http = require('http')

var server = http.createServer(function(req, res){

    console.log("request");

    // 纯文本,html,json

    res.writeHead(200, {"Content-Type":"text/plain"})

    res.end("hello")    // 设置响应体

})

server.listen(3000)


* JSON.stringify(obj)     对象->json


5. 路由

req.url 可以拿到当前路由


6. path

path.resolve(__dirname, "index.js")


7. HTTP

7.1 请求报文

请求行,请求头,请求体

请求方法:GET POST PUT DELETE


7.2 响应报文

响应行,响应头,响应体

状态码 200 OK

响应体常见格式:html,css,js,图片,视频,json

127.0.0.1 本地回环地址


7.3 node

浏览器可以看到请求报文 和 响应报文 inspect - network

request.method
request.url               只包含url中的路径和查询字段
request.headers

const url = reuqire("url")
let res = url.parse(request.url, true)
let pathname = res.pathname
let keyword = res.query.keyword

7.4 网页资源加载!

到底加载一个网页,向服务器发送了几次请求?

html,css资源,图片资源,js资源
取决于html里面有多少以上的资源

以上的请求往往是并行处理的








FastAPI

 1. python 语言下的web框架:


javascript 快速入门

 1. 如何运行js:

1)在浏览器中运行

    a. 直接写在html中的script标签里,script标签应该在body标签的最后

    b. 可以写在.js文件里面,添加在script标签的src中

2)在node中运行 (在nodejs中运行 就是后端代码)

    node index.js


2. var / let / const

var 很少用,全局
let 可修改
const 不可修改


3. 数据类型

number,string,boolean,null,undefined


4. if

==:值相同,类型可以不同

===:值和类型都要相同






Nextjs

 1. how to install nodejs: (use nvm)

source ~/.bashrc
nvm install --lts

* some nvm commands
nvm ls
nvm use 22
nvm install 22
nvm uninstall 22

2. layout, template, page:
layout 包含 template,template 再包含 page

* template 和 layout 的区别:
在router发生变换的时候,template不会保留状态,layout会保留









Firebase

 1. 常用服务:
用户认证:Auth
NoSql数据库:Cloud Firestore
云存储:Storage
网站资源托管(静态 动态):Hosting
代码托管:Functions

2. 

sudo npm install -g firebase-tools         安装firebase包

firebase login                                      登陆firebase

firebase projects:list                            显示所有的project

npm init -y
npm install firebase-admin --save        安装管理员sdk
在控制台生成密钥


3. 数据库增删改查

逻辑删除 比 物理删除好


4. functions

(相当于 aws 的 lambda)

npm install firebase-functions@latest --save        安装云函数sdk
firebase init functions
firebase init emulators


https://www.bilibili.com/video/BV1vh41127ox/?spm_id_from=333.337.search-card.all.click&vd_source=3f44542a8f81e9732c1591dd25f3b1c9


venv

python -m venv [venv name]

go to ./bin and type:

    source activate

    deactivate 


和conda没什么区别,更轻量化