99 lines
7.2 KiB
Plaintext
99 lines
7.2 KiB
Plaintext
服务端渲染
|
||
|
||
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")
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|