[笔记]这阶段的有道云笔记前端部分整理

js现在可以运行在

1.浏览器端

2.计算机操作系统上

通过大名鼎鼎的node, node是由c/cpp编写的js运行环境,大概是js通过编译变成c变成汇编变成机器语言。。。大概

#mermaidChart0 .node>rect { }
#mermaidChart0 .node text { font-weight: 300; font-family: "Helvetica Neue", Helvetica, Arial, sans-serf; font-size: 14px }
#mermaidChart0 .edgeLabel text { font-weight: 300; font-family: "Helvetica Neue", Helvetica, Arial, sans-serf; font-size: 14px }
#mermaidChart0 .cluster rect { }
.markdown-body * { }
.mermaid .label { color: rgb(51, 51, 51) }
.node circle,.node ellipse,.node polygon,.node rect { }
.edgePath .path { }
.edgeLabel { background-color: rgb(232, 232, 232) }

node编译

js

操作系统可执行机器语言


包安装工具

1.npm

2.bower

3.yarn

现在大家都推荐这个。。。据说更快更好


构建打包工具(说实话这个我现在还是分不清)

构建工具 任务执行器

帮助压缩文件?sprite?混淆等等需需要手工操作的简化?手工劳动 gulp grunt

打包工具 模块打包工具

模块化的代码最后组装打包上线用的,webpack browserify ,seajs require这两个是在浏览器端js现场打包,现在已经不推荐了


页面中的js

传统引入方式 script src

node动态引入

这个是个很神奇的 node的工具webpack动态的组装你的页面 比如使用node modules里面的插件 你并没有实际用script引入到页面中这样子?暂时不理解的时候,不能用常理来考虑(vue-cli)dev时是动态组装build才把所有动态组装的打包好成一个。。。


es2015==es6 =>true


jquery 属性自加

a.css({‘property‘:‘+=value‘})


目前我对vue的感想

首先,说下优点确实有的,只操作数据不用操作dom

再说下缺点,搞a要搞b搞b要搞c搞a要搞b搞b要搞c搞a要搞b搞b要搞c搞a要搞b搞b要搞c搞a要搞b搞b要搞c搞a要搞b搞b要搞c搞a要搞b搞b要搞c搞a要搞b搞b要搞c搞a要搞b搞b要搞c搞a要搞b搞b要搞c搞a要搞b搞b要搞c搞a要搞b搞b要搞c,最后搞得很难看懂。为了变方便变得更麻烦要加更多东西


contenteditable

div 模拟textarea 富文本编辑器

<div class="simutextarea">
                    <span class="simut-fastenbegin">#youCantDeleteMe</span>
                    <span class="simut-textwrapper">
                        <span class="simut-textplaceholder">Hot or not? Tell it like it is and hashtag!</span>
                        <span class="simut-textplaceinput" contenteditable="true"> </span>
                    </span>
                </div>

但是有些问题的,解决不了光标的问题(跳首),百度贴吧的发帖框就是用这个模拟的,有时间看看他们怎么做的


根据设备跳转

三方可以跳转,都可以获得浏览器传来的userAgent

  1. 运维跳转
  2. 程序跳转
  3. 前端跳转

同时,这三方加上网路运营商甚至路由器都可以恶意dns恶意在页面上加东西

node作为运行时服务器,也是一样的


图片位于正中

  1. background-position center
  2. position absolute

多行省略(现代浏览器)

overflow: hidden;text-overflow:ellipsis;
        display: -webkit-box;
        -webkit-box-orient:vertical;
        -webkit-line-clamp:2;

cdn页面真正动态内容

页面被cdn服务器缓存后,需要刷新缓存才能真正改变,那么真正需要勤奋改变的内容需要js来获取(比如当前登录用户信息等等)

js 正则找出所有符合的匹配

var regEx=/js_quantity[a-z]+/g;regEx.exec(‘js_quantityabc js_quantityminus minus disabled‘);regEx.exec(‘js_quantityabc js_quantityminus minus disabled‘);regEx.exec(‘js_quantityabc js_quantityminus minus disabled‘)
[0];regEx.exec(‘js_quantityabc js_quantityminus minus disabled‘).index;

不断连续执行exec


async/await

demo(Script snippet #1)

//测试 async async async await
//先来的 返回一个promise 完成时调用resolve
var sleep=function(){
 return new Promise(function(resolve,reject){
     setTimeout(function(){
         console.log(‘Asettimeout has been executed, promiss has been resolved‘);
         resolve([‘sleep1‘,‘sleep2‘]);
     },3000);
 });
};
//后到的 async(异步)修饰function await修饰执行先来的
var start=async function(){
 let sleepreturnarray=await sleep();
 console.log(‘%ceven though i do not have a time out, i still will be executed after 3 sec, after the promiss resolveed‘+sleepreturnarray[1],‘color:red;‘);
};
start();

async 表示这是一个async函数,await只能用在这个函数里面。

await 表示在这里等待promise返回结果了,再继续执行。

await 后面跟着的应该是一个promise对象(当然,其他返回值也没关系,只是会立即执行,不过那样就没有意义了…)

大大说了,目前这这就是异步回调地狱的终极解决方案,当然要结合babel现在。注意, 目前, 终极


vue组件通讯

就算你不喜欢,分到你用你也得用。。。

组件之间的作用域独立,而组件之间经常又需要传递数据。

A 为父组件,下面有子组件 B 和 C。

A 的数据可以通过 props 传递给 B 和 C。

A 可以通过 $broadcast 调用 B 和 C 的 events,从而操作 B 和 C 的数据。

B 和 C 可以通过 $dispatch 调用 A 的 events,从而操作 A 的数据。

当 B 需要操作 C 的数据就会比较麻烦,需要先 $dispatch 到 A,再 $broadcast 到 C。

如果项目比较小的话还好,越大的项目,涉及的组件通信就越多、越频繁,此时管理起来就会非常累,而且容易出错。这就是 Vuex 的意义所在。它可以将数据置于单独的一层,并提供给外部操作内部数据的方法。粗俗一点,就这样理解吧。

=== === ===更新:Vue 2 发布了,去掉了 $dispatch 和 $broadcast,已经不会出现通信事件 ping-pong 的情况了。

我们需要有一个 Vue 实例来充当通信媒介的作用,Vue 官方文档里将它叫做 event bus。export default new Vue();
当我们需要组件之间事件通信的时候,只需要对这个 event bus 使用 $emit 和 $on 就可以了。

import Bus from ‘./bus.js‘;

export default Vue.extend({
  template: `
  <div>{{msg}}</div>
  `,

  data: () => ({
    msg: ‘Hello World!‘
  }),

  created() {
    Bus.$on(‘setMsg‘, content => {
      this.msg = content;
    });
  }
});
import Bus from ‘./bus.js‘;

export default Vue.extend({
  template: `
  <div @click="sendEvent">Say Hi</div>
  `,

  methods: {
    sendEvent() {
      Bus.$emit(‘setMsg‘, ‘Hi Vue!‘);
    }
  }
});

Event bus 是一种实践,你也可以在 Vue 1.x 中使用它。


大在小容器中居中

法一

大:position absolute; left 50%;margin-left -[大宽度的一半]; top...跟left一样的省略

小:position relative;

法二

设置为背景图 且background-position center


文本框和按钮同高对齐(less)

form{
			font-size: 0;position: relative;
			.formitem{
				height: 30px;line-height: 30px;
				font-size: 14px;vertical-align: middle;
			}
			input[type=text]{
				.formitem();
				border: 1px solid #000;
				padding: 0 5px 0 35px;
				width: 235-40px;
			}
			button{
				.formitem();
				color: #fff;background-color: #000;
				width: 135px;height: 32px;line-height: 32px;
			}
			&:before{
				content: ‘‘;display: inline-block;position: absolute;
				left: 38px;
				top: 1px;
				.sprite(@youjiandingyue_07);
			}
		}

正则替换 保留原始内容

http://([A-Za-z0-9.-]+).sammydress.com

https://$1.sammydress.com

$1 是代表([A-Za-z0-9.-]+)匹配到的模糊内容

$1-$n分别代表第1个和第n个括号内匹配到的内容。

var regEx=/([A-Za-z0-9.-]+)abc/;
‘sdjlfjslfabc‘.replace(regEx,‘$1def‘)

结果是"sdjlfjslfdef"


关于vue一点新的体会

专注于操作数据,数据和视图分离,通过操作数据的方式操作视图,mvvm

而不是$().html()等等这种形式


webstorm 保存不会触发webpack watch

https://segmentfault.com/q/1010000007796140?_ea=1459577

原来是这样啊啊啊啊啊啊


text align justify

text-align:justify 属性是全兼容的,使用它实现两端对齐,需要注意在模块之间添加[空格/换行符/制表符]才能起作用,同样,实现文本对齐也是需要在字与字之间添加[空格/换行符/制表符]才能起作用


vue validator

https://segmentfault.com/a/1190000006706226

中文文档


关于postcss中用于不转换rem的注释/*no*//*px*/在webpack build中不生效的解决办法

sass loader会把注释去掉 导致用于告诉postcss不用转换rem的注释也去掉 导致边线px变成小数rem 显示不出来的bug

sass?outputStyle=expanded 展开 带注释的?

module: {
        loaders: [
            {
                test: /\.scss$/,
                //感謝谷歌
                loader: ‘style!css!postcss-loader!sass?outputStyle=expanded‘,
                // include: APP_PATH
            },
        ]
    },

webpack 可以接受形如!sass?outputStyle=expanded&sourceMap=true&sourceMapContents=true&includePaths[]=./node_modules 的配置参数后的loader


时间: 2024-08-04 04:02:27

[笔记]这阶段的有道云笔记前端部分整理的相关文章

如何从为知笔记迁移到有道云笔记

今天是狠狠地体会到了各个云计算笔记之间的不兼容性.为知笔记很多插件很好用,但是都是支持有道云笔记和EverNote导入到为知笔记,没有从为知笔记导入到其他笔记的插件.今天一个很重要的笔记丢失,不再对为知笔记放心. 思路 将笔记从为知笔记中导出成html格式---->将html格式的笔记导入到EverNote中------>将笔记从EverNote中导出形成enex格式---->将enex格式的笔记导入到有道云笔记中.这么做的目的是:为知笔记不支持导出有道云笔记支持的格式的笔记,但是为知笔

有道云笔记迁移到为知笔记

一.为何要进行笔记迁移?在使用了印象笔记.有道云笔记和为知笔记后,结合个人的情况根据以下几点理由决定迁移到为知笔记: 1.有道云笔记初始空间只有2G,为了获得永久免费空间得找时间挂机,麻烦: 2.有道云笔记的子目录或者子文件夹的层次不够多,个人有严重的分类存储习惯,用不惯有道云笔记,印象笔记的分级就更鸡肋了: 3.有道云笔记的导出的笔记格式与其他笔记软件如印象笔记.为知笔记的兼容性越来越差,以后和使用不同笔记软件的人之间笔记共享麻烦: 二.怎样进行迁移?(从有道云笔记迁移到为知笔记的方法) 1.

[转]有道云笔记markdown

作为半个文字工作者,一天当中,一半时间用在遣词造句,一半时间则在死磕排版.当听说"前所未有的极简语法"Markdown,不仅能简化排版.大大提高书写效率,而且上手零门槛.好奇宝宝怎么忍得住一颗蠢蠢欲动的心? 从未接触过代码的门外汉,初次听说Markdown,脑子是空的.但如果愿意抽5分钟,看下这篇文章--了解Markdown是什么.能干什么.对码字的你有什么益处:再打开有道云笔记,抽出10分钟对照Markdown简明教程加以练习. 15分钟,你就能掌握一门极客圈最流行的文本编辑语言~

用游戏外挂的方式修复有道云笔记的BUG

由爱到痛 有道云笔记是个好东西,在认识它之前,我一直使用Windows记事本来保存网上摘抄的文档资料和学习心得体会.某天朋友推荐了有道云笔记,我安装后就不可收拾的爱上了它.那种感觉,就好比一夜之间手扶拖拉机换成了奥迪Q7,从此驶上了码字界的康庄大道. 可就在我对它的爱如火如荼的进行中时,一件痛心疾首的事情发生了. 宋体,是我钟爱的字体,而有道云笔记钟爱的字体则是微软雅黑.就是那么一个兴趣爱好的不同,使我们之间产生了矛盾,并不断被激化,最终影响到了工作和生活,以至于之后一度要和它分手. 问题是这样

有道云笔记客户端的下载和安装、使用

想说的是,写此博文,是为了让自己学会使用和做好笔记. 下载 安装 使用 有道云笔记网页剪报(备)

有道云笔记

使用有道云笔记,轻松同步.管理您各终端的所有笔记.三重备份,存储数据安全有保障.免费的超大存储空间,无限量增长.激活后即可免费获得2GB云存储空间.赶紧来体验吧.快速注册入口 有道云笔记(原有道笔记)是2011年6月28日网易旗下的有道推出的云笔记软件,支持多种附件格式,拥有2G容量的初始免费存储空间,能够实时增量式同步,并采用“三备份存储”技术,同时上线的还有网页剪报功能.2012年12月初,有道云笔记推出3.0新版,PC.iPhone.Android和web端四大平台全面升级.升级后的有道云

云笔记使用的感受想法!(对有道云笔记、印象云笔记的比较与评价)

看到同事在使用云笔记,也下载了来试用一下,不过安装试用之后,就吧下载的几个都给删除了.说一下自己内心的感受和想法: 功能太多 下载了有道云笔记.印象笔记.云笔记.功能真的太多了,支持语音.视频.图片.还有拍照,裁剪还有各种发送到微博.邮件发送.转发.功能多且细,让人看的有点头疼,我只是为了记录一些文字比较,不想记录那么多 云笔记本身的思路缺陷(印象云笔记.有道云笔记) 一直用的都是用QQ邮箱的记事本来保存笔记,直接只记录文字.现在主流的云笔记功能多而且非常细,眼花缭乱的产品功能,细致繁杂.感觉就

有道云笔记网页版(Cloud notes page)

插件介绍: 说到储存,小伙伴们都有自己的储存方法,今天为大家推荐一款云储存的插件.有道云笔记(note.youdao.com)是网易旗下有道搜索推出的笔记类应用,通过云存储技术帮助用户建立一个可以轻松访问.安全存储的云笔记空间,解决个人资料和信息跨平台跨地点的管理问题. 使用说明: 将有道云笔记网页版(Cloud notes page)添加至chrome,并在应用中启动它. 功能介绍: -免去数据线传输烦恼,手机电脑轻松同步; -资料多重备份,云端存储永不丢失;-分类整理纷繁资料,支持丰富附件格

关于产品的一些思考——(四十一)网易之有道云笔记

--------------------2014.07.17-------------------- 先前的使用体验,补上. 建议在有道云笔记安装的时候,就可以由用户设置笔记和图片存储目录,并且用户可以控制是否自动同步笔记,防止软件安装之后,笔记自动同步,在用户修改存储目录后,由于拷贝过多小文件,而造成软件无响应.