Files
ClassContent/历届学生/font-end-nine/项目练习/学生项目/张婷/练习/node/笔记.txt
2024-09-27 02:06:13 +08:00

99 lines
7.2 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

服务端渲染
Node.js : js在服务器上的运行环境
V8是Google的开源的JavaScript和WebAssembly引擎,用C++编写。它用于Chrome和Node.js等。
npm :(命令行工具,是一个软件,nodejs出厂自带)NodeJS包管理和分发工具,已经成为了非官方的发布Node模块(包)的标准。
前端开发三个阶段:
1 html css table [table标签即表格,tr标签是行,th是表格的头,td是列。tr和td需要多少写多少,一行(列)写一个,多行(列)写多个]
2 html + css + js (jquery) 操作dom [http://t.zoukankan.com/liuafan-p-9523773.html]
mvc框架 [MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据可以分别用柱状图、饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。]
模型 视图 控制器 m和v代码分离,c控制m和v更新改变同步
3 mvvm框架 (其发展基于node.js的蓬勃发展)
模型 视图 视图模型 控制器 MVVM模式和MVC模式一样,主要目的是分离视图(View)和模型(Model):
1. 低耦合。视图(View)可以独立于Model变化和修改,一个ViewModel可以绑定到不同的"View"上,当View变化的时候Model可以不变,当Model变化的时候View也可以不变。
2. 可重用性。你可以把一些视图逻辑放在一个ViewModel里面,让很多view重用这段视图逻辑。
3. 独立开发。开发人员可以专注于业务逻辑和数据的开发(ViewModel),设计人员可以专注于页面设计,使用Expression Blend可以很容易设计界面并生成xaml代码。
4. 可测试。界面素来是比较难于测试的,测试可以针对ViewModel来写。
mvvm angular.js [是一个应用设计框架与开发平台,用于创建高效、复杂、精致的单页面应用,通过新的属性和表达式扩展了 HTML,实现一套框架,多种平台,移动端和桌面端。AngularJS有着诸多特性,最为核心的是:MVVM、模块化、自动化双向数据绑定、语义化标签、依赖注入等等。]
react [用于构建用户界面的JavaScript库,主要用于构建UI] 1.声明式设计:React 使创建交互式 UI 变得轻而易举。为你应用的每一个状态设计简洁的视图,当数据变动时 React能高效更新并渲染合适的组件。
2.组件化: 构建管理自身状态的封装组件,然后对其组合以构成复杂的 UI。
3.高效:React通过对DOM的模拟,最大限度地减少与DOM的交互。
4.灵活:无论你现在使用什么技术栈,在无需重写现有代码的前提下,通过引入React来开发新功能。
vue [是一套用于构建用户界面的渐进式JavaScript框架] https://blog.csdn.net/wu246051/article/details/123060620
终端显示:运行————————node 文件名(例:node index.js)
存储插件—————node_modules: 存放项目开发中所有下载的插件
npm: 初始化——————npm init ——————npm init -y(默认生成pack...)————package.json [scripts:运行命令“存储各种命令”,可以放很多个,但最后一个不能有逗号][dependencies:(devDependencies开发阶段)上线阶段的插件依赖 npm i自动寻找并下载所有依赖插件]
运行命令————npm run XXX (运行scripts里的XXX命令) !!如果命令名为start,run可以省略掉 npm start!!
安装插件————npm install XXX(XXX插件名称)————简写:npm i XXX————!!在哪里安装就在哪里打开终端,路径不能错!!(npm下载默认国外,cnpm国内下载)
———— npm install 插件名 参数——————参数:--save(简写:-s)将插件保存到上线阶段dependencies一般情况下默认
--save-dev(简写:-D)将插件保存到开发阶段devDependencies
--g 将插件安装到操作系统全局 [npm i -g node-dev]
全局插件文件夹安装在使用者下方文件
删除插件————npm uninstall 插件名 (package-lock.json本地存储install里插件的下载地址)
安装插件并指定版本————npm install XXX@版本号
插件包括系统自带的和用户下载的,但都要先引入才能使用:const XX = require(“XX”);
解构赋值:ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构。es6中对变量的赋值遵循一个规则,只要!!左右两边的模式相同,就可以进行合法赋值!!右给左赋值
——————node.js——————
node.js事件循环:web serve接受请求————关闭————服务下一个web请求——————统一放进处理列队,依次处理后返回值
模块间的相互调用: utils.js 和 index.js
导出:module.exports = new utils() 接收:const A = require("./utils"); A.test() utils里面要调用的方法(假装有一个test()方法)
module.exports = new utils() const { test } = require("./utils");
exports.util = new utils() const A = require("./utils"); A.util.test()
fs文件系统:fs.writeFileSync("./生成文件路径",“文件内容”) Sync:同步 没有则需要回调函数 传参包含callback
var html = fs.readFileSync("./index.html"路径)
http超文本传输协议: const http = require ("http")
res.end(html. .toString())
buffer二进制数据 .toString()buffer转字符串
————————爬虫————————
总共有1034页数,第一页为index 其余一次加1
https://pic.netbian.com/index.html
https://pic.netbian.com/index_2.html
图片地址
小图 https://pic.netbian.com/uploads/allimg/170609/123945-1496983185 6c4d.jpg
大图 https://pic.netbian.com/uploads/allimg/170609/123945-1496983185 ad61.jpg
.each遍历(下标,元素)
attr打印标签属性 例.attr("title")