浏览器插件入门例子
一个解决B站文章不可复制插件配置文件 manifest.json1234567891011121314151617181920212223{ "name": "allow copy", "description": "解锁bi站复制限制", "version": "1.0", "manifest_version": 2, "browser_action": { "default_icon": "icons/copy.jpg" }, "content_scripts": [ { "matches": [ "https://www.bilibili.com/read/*" ...
websocket
websocket前端 示例代码1234567891011121314151617181920212223242526272829303132333435<script> var input =document.querySelector('input') var button =document.querySelector('button') var div =document.querySelector('div') // 1.创建websocket var socket =new WebSocket('ws://echo.websocket.org') // 2.open: 当和websocket服务连接成功的时候触发 socket.addEventListener('open',function(){ div.innerHTML='连接服务成功了' }) // 3.主动给websocket服务器发送 ...
sass学习
css 变量$
$Primary-color : #333;
Modules 模块@use
12345678// _base.scss$font-stack :Helvetica,sans-serif;$primary-color:#333;body{ font: 100% $font-stack; color: $primary-color;}
123456@use 'base';.inverse{ background-color: base.$primary-color; color: #fff;}
Mixins & Functions@mixin
Sass12345678@mixin transform ($property) { -webkit-transform: $property; -ms-transform: $property; transform: $property;}.box { @include transfo ...
RXJS学习
The ReactiveX library fro JavaScript
Reactive-Extensions (RX)
RxJS 是使用 Observables 的响应式编程的库,它使编写异步或基于回调的代码更容易。
RXJS 介绍一组可用来处理 非同步 或事件 的JavaScript 函数库。
非同步
AJAX / XHR (XMLHttpRequest) / fetch API
Service Worker / Node Stream
setTimeout / setInterval
Promise
事件各式 DOM 事件 (click ,dbclick ,keyup ,mousemove … )css 动画事件 (css3 transitionEnd event)HTML5 Geolocation (地理地位)/ WebSockets (在单个 TCP 连接上进行全双工通讯的协议) / server Send Event(SSE)
RXJS 的核心概念Observable 可观察的物件
代表一组未来即将发生的事件资料(被观察的物件)
Observer 观察者 ...
前端学习路线
如果有说错了,请见谅。此文章链接在知乎上:
前端学习路线(很长,建议收藏) - 有一天wm的文章 - 知乎https://zhuanlan.zhihu.com/p/164701269
一、编辑器:VSCode (推荐使用)
WebStorm
Atom
Sublime
二、HTML
常用标签
表单
HTML
三、CSS基本语法布局(浮动float、定位position、盒模型、flex、grid/layout)响应式布局
viewport(用户网页的可视区域)
1<meta name="viewport" content="width=device-width, initial-scale=1.0">
流动布局(fluid grid)
媒体监听@media
12345@media only screen and (max-width: 500px) { .gridmenu { width:100%; } }
...
Vue学习总结
实例vue(3步):1.创建根实例:let app =new Vue({})
2.挂载根实例:let app = new Vue({ el:’#app’})
3.绑定数据:let app =new Vue({ el:’#app’, data: {age:24}})
vue核心数据的双向绑定、组件化
$el表示在vue实例上挂载的DOM对象属性app.$el ===document.getElementById(“app”)
$data表示在vue实例上挂载的数据属性app.$data.apge === app.age //true
基本指令v-html: 原始htmlv-once:单项绑定v-pre:跳跃编译,显示原始标签v-bind:属性绑定 ( :)绑定 class12345<div class="static" v-bind:class="{ active: isActive, 'text-danger': hasError }"></div>
和如下 ...
es678
ES6 常用新特性let && constlet 命令也用于变量声明,但是作用域为局部
123456{ let a =10; var b =1;}
在函数外部可以获取到 b,获取不到 a,因此例如for循环计数器就适合使用 let。
const 用于声明一个常量,设定后值不会再改变
12345const PI =3.1415;PI //3.1415PI=3; //TypeError: Assignment to constant variable.
iterable 类型为了统一集合类型,ES6 标准引入了新的iterable类型,Array、Map 和 Set 都属于iterable类型,具有iterable类型的集合可以通过新的 for ...of 循环来遍历
12345678910111213141516var a=['A','B','C'];var s=new Set(['A','B','C']);va ...
Vuex学习笔记
项目地址在 https://github.com/Hard-workingrookie/todoList_vuex
组件之间共享数据的方式父向子传值: v-bind 属性绑定子向父传值: v-on 属性绑定兄弟组件之间共享数据 :EventBus
$on 接收数据的那个组件
$emit 发送数据的那个组件
Vuex 是什么Vuex是实现正在组件全局状态(数据)管理的一种机制,可以方便的实现组件之间的数据共享。
Vuex 的基本使用安装 Vuex 依赖包1npm install vuex --save
导入 Vuex 包12import Vuex from 'vuex'Vue.use(Vuex)
创建 store 对象123const store =new Vuex.Store({ state:{count:0}})
将 store 对象挂载到 vue 实例中123456new Vue({ el:'#app', render:h=>h(app), router ...
next.js入门
Next.js简介Next.js 是一个轻量级的 React 服务端渲染应用框架。
目前Next.js是React服务端渲染的最佳解决方案,所以如果想使用React来开发需要SEO的应用,基本上就要使用Next.js。
创建next.js项目1npm install -g create-next-app
目前可以支持三种方式的创建,分别是用npx,yarn和create-next-app命令来进行安装,安装的结构都是完全一样的,以npx为例。
npx 是Node自带的npm模块,所以你只要安装了Node都是可以直接使用npx命令的。
1npx create-next-app next-create
安装完成之后进入项目目录
1yarn dev
在浏览器中输入http://localhost:3000/看运行效果。
Next.js的Page和Component的使用新建页面和访问路径直接在根目录下的pages文件夹下,新建一个litterWang.js页面。然后写入下面的代码:
12345function litterWang(){ return (<b ...
笔记
babel-plugin-importwebpack 就不会默认把整个的包都进行打包到生产环境了,而是我们使用那个组件就打包那个组件,同样 CSS 也是按需打包的。
配置举例:
12345678910111213{ "presets":["next/babel"], //Next.js的总配置文件,相当于继承了它本身的所有配置 "plugins":[ //增加新的插件,这个插件就是让antd可以按需引入,包括CSS [ "import", { "libraryName":"antd", "style":"css" } ] ]}
next.js 引入 css先用 yarn 命令来安装@zeit/next-css ...