本文转载于:猿2048网站➸[笔记]这阶段的有道云笔记前端部分整理php
经过大名鼎鼎的node, node是由c/cpp编写的js运行环境,大概是js经过编译变成c变成汇编变成机器语言。。。大概css
如今你们都推荐这个。。。听说更快更好html
帮助压缩文件?sprite?混淆等等需须要手工操做的简化?手工劳动 gulp grunt前端
模块化的代码最后组装打包上线用的,webpack browserify ,seajs require这两个是在浏览器端js现场打包,如今已经不推荐了vue
这个是个很神奇的 node的工具webpack动态的组装你的页面 好比使用node modules里面的插件 你并无实际用script引入到页面中这样子?暂时不理解的时候,不能用常理来考虑(vue-cli)dev时是动态组装build才把全部动态组装的打包好成一个。。。node
a.css({'property':'+=value'})jquery
首先,说下优势确实有的,只操做数据不用操做domwebpack
再说下缺点,搞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,最后搞得很难看懂。为了变方便变得更麻烦要加更多东西es6
div 模拟textarea 富文本编辑器web
<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
同时,这三方加上网路运营商甚至路由器均可以恶意dns恶意在页面上加东西
node做为运行时服务器,也是同样的
overflow: hidden;text-overflow:ellipsis; display: -webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2;
页面被cdn服务器缓存后,须要刷新缓存才能真正改变,那么真正须要勤奋改变的内容须要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
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如今。注意, 目前, 终极
就算你不喜欢,分到你用你也得用。。。
组件之间的做用域独立,而组件之间常常又须要传递数据。
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 实例来充当通讯媒介的做用,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
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"
专一于操做数据,数据和视图分离,经过操做数据的方式操做视图,mvvm
而不是$().html()等等这种形式
https://segmentfault.com/q/1010000007796140?_ea=1459577
原来是这样啊啊啊啊啊啊
text-align:justify 属性是全兼容的,使用它实现两端对齐,须要注意在模块之间添加[空格/换行符/制表符]才能起做用,一样,实现文本对齐也是须要在字与字之间添加[空格/换行符/制表符]才能起做用
https://segmentfault.com/a/1190000006706226
中文文档
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