//用onLoad周期方法重新加載,實(shí)現(xiàn)當(dāng)前頁(yè)面的刷新
this.onLoad()
[HMR] Waiting for update signal from WDS... (瀏覽器的控制臺(tái)時(shí)常蹦出來(lái)的提示)
針對(duì) “[HMR] Waiting for update signal from WDS...” 翻譯下:來(lái)自 WDS 的提示,正在等待更新。
1、webpack 是什么:
webpack是一個(gè)自動(dòng)化構(gòu)建工具,意在幫前端開發(fā)者解決除了業(yè)務(wù)開發(fā)外的雜事,比如:打包、語(yǔ)言的轉(zhuǎn)換、熱更新、啟本地服務(wù)器等等。與本問題相關(guān)的webpack配置是它為我們搭建的本地服務(wù)器以及熱更新功能。
2、[HMR] 是什么:
它是 Hot Module Replacement 的簡(jiǎn)寫。翻譯過(guò)來(lái):模塊熱更新。所以HDR開頭的信息提示由webpack/hot/dev-server模塊產(chǎn)生
3、[WDS] 是什么:
它是 Webpack dev Server 的簡(jiǎn)寫。翻譯過(guò)來(lái):webpack的開發(fā)環(huán)境服務(wù)器(本地服務(wù)器)。所以WDS開頭的信息提示由 webpack-dev-server本地服務(wù)器產(chǎn)生
來(lái)自https://www.jianshu.com/p/330...
不能,改的話也只是改的瀏覽器緩存的頁(yè)面html/css等文件
為什么不直接vue.$data.content = res.d,根據(jù)res.d來(lái)渲染呢?
https://stackoverflow.com/que...
你需要?jiǎng)?chuàng)建一個(gè)http server
var express = require('express')
var expressWs = require('express-ws')
var app = express()
expressWs(app)
app.ws('/echo', (ws, req) => {
ws.on('connection', function (connection) {
//...
})
ws.on('close', function () {
//...
})
})
app.use(express.static('public'))
app.listen(3000, function () {
console.log('Example app listening on port 3000!')
})
4000次的循環(huán)本身并不大,如果循環(huán)里僅僅是對(duì)內(nèi)存的操作其實(shí)很快就應(yīng)該完成,但是你在循環(huán)里做了很多次數(shù)據(jù)庫(kù)操作,這應(yīng)該就是造成性能問題的根本原因。盡管每條sql執(zhí)行都很快,但是你忽略了每次執(zhí)行所帶來(lái)的網(wǎng)絡(luò)io開銷時(shí)間。我才想4000次的循環(huán)里如此多的數(shù)據(jù)庫(kù)操作足以是你的腳本超時(shí)了,當(dāng)你所提到超時(shí)時(shí),我認(rèn)為你的php運(yùn)行在fast cgi模式下。那么你有兩種方法來(lái)解決
1,將sql操作合并,一次或幾次在循環(huán)之外一口氣得到所有的數(shù)據(jù),再在循環(huán)中進(jìn)行分門別類。我相信這樣做會(huì)立竿見影的提升效率。
2, 如果這個(gè)操作不是及時(shí)性的,那么可以嘗試放在cli模式下運(yùn)行,你不用修改代碼,盡管效率同樣低,但cli模式下腳本不會(huì)超時(shí)。
另外如果你所獲得到數(shù)據(jù)總量很大,那么還要考慮php本身為腳本所分配的最大可用內(nèi)存,如果這個(gè)值低于你獲取的數(shù)據(jù)所需要的內(nèi)存,那么即便在cli模式腳本還是得崩。這個(gè)配置好像是在php.ini里一個(gè)叫max_memory_size定義的,名字可能不準(zhǔn)確,我記不太清了
不完全是
父組件給子組件傳遞的屬性,更像是把父組件的屬性賦值給子組件,類似于:
let childProp = parentProp
因此,如果父組件屬性是個(gè)對(duì)象的話,那就是傳遞的引用,否則傳遞的是值的拷貝
如果是前端生成:
var html += '<div class="form-group well" id="23"> +
'<div class="row">' +
// ...
'</div>';
document.getElementById('id').innerHTML = html;
如果覺得拼字符串麻煩,不妨嘗試下模板引擎,或者試試vue、react啥的。
如果是后端返回的html片段:
$('#id').load('/api/xxx');hover之后將該區(qū)域塊顯示出來(lái),然后加上animation,從左到右的滑動(dòng)
舉個(gè)例子
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JS Bin</title>
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
<style>
ul li{list-style:none; width:100px; position:relative; float:left; overflow:hidden;}
ul li img{width:100%;}
ul li .info{position:absolute; bottom:0; left:0; width:100%; height:40px; line-height:40px; background:-webkit-gradient(linear, 0 0, 0 bottom, from(rgba(255,255,255,.2)), to(rgba(0,0,0,.2)));}
.hide{display:none;}
.slideleft{animation:left .5s 1; animation-fill-mode:forwards;}
.slideright{animation:right .5s 1; animation-fill-mode:forwards;}
.slidetop{animation:top .5s 1; animation-fill-mode:forwards;}
.slidebottom{animation:bottom .5s 1; animation-fill-mode:forwards;}
@keyframes left{
from{left:-100%;}
to{left:0;}
}
@keyframes top{
from{bottom:-100%; left:0;}
to{bottom:0; left:0;}
}
@keyframes bottom{
from{bottom:100%;}
to{bottom:0;}
}
@keyframes right{
from{left:100%;}
to{left:0;}
}
</style>
</head>
<body>
<ul>
<li>
<img src="https://img1.epetbar.com/2017-05/24/10/7982bafb75e8aba985e08de99780be52.jpg?x-oss-process=style/fill&$1=300&$2=300" alt="">
<div class="info hide">
test
</div>
</li>
<li>
<img src="https://img1.epetbar.com/2017-05/24/10/7982bafb75e8aba985e08de99780be52.jpg?x-oss-process=style/fill&$1=300&$2=300" alt="">
<div class="info hide">
test
</div>
</li>
<li>
<img src="https://img1.epetbar.com/2017-05/24/10/7982bafb75e8aba985e08de99780be52.jpg?x-oss-process=style/fill&$1=300&$2=300" alt="">
<div class="info hide">
test
</div>
</li>
</ul>
<script>
$("li").hover(function(e){
var mX = e.clientX;
var mY = e.clientY;
var liLeft = $(this).offset().left;
var liTop = $(this).offset().top;
var liW = $(this).width();
var liH = $(this).height();
x = (mX - liLeft - ( liW / 2 ) ) * ( liW > liH ? (liH / liW ) : 1 )
y = (mY - liTop - (liH / 2)) * (liH > liW ? (liW / liH) : 1),
// 上(0) 右(1) 下(2) 左(3)
direction = Math.round( ( ( ( Math.atan2( y, x ) * ( 180 / Math.PI ) ) + 180 ) / 90) + 3 ) % 4;
if(direction == 0){
$(this).find(".info").removeClass("hide").addClass("slidetop");
}else if(direction == 1){
$(this).find(".info").removeClass("hide").addClass("slideright");
}else if(direction == 2){
$(this).find(".info").removeClass("hide").addClass("slidebottom");
}else if(direction == 3){
$(this).find(".info").removeClass("hide").addClass("slideleft");
}
},function(){
$(this).find(".info").addClass("hide").removeClass("slideleft").removeClass("slidetop").removeClass("slideright").removeClass("slidebottom")
})
</script>
</body>
</html>你是個(gè)人才啊
userath()這個(gè)函數(shù)是沒有返回值的
響應(yīng)的話 ctx.body=response
mongoose支持promise,配合await使用
try{
var user = awiat userModel.find({name: ctx.request.body.username});
if(user.length == 0){
ctx.body = "user not register"
} else {
let user = await userModel.find({
name: ctx.request.body.username,
password: ctx.request.body.password
});
if (user == null || user.length == 0) {
console.log(user);
console.log('password wrong');
ctx.body = "login fail";
}
if (user != null && user.length > 0) {
console.log('login sccessful');
ctx.body = "login successful";
}
}
} catch(e){
}
將file:///訪問模式換成http://xxxxxx
2個(gè)div利用css3旋轉(zhuǎn) body超出內(nèi)容部分隱藏 就OK了
答案是type不同了。
React.createElement的函數(shù)簽名是 React.createElement(type, props, children)。
React在做dom diff時(shí)候,首先判斷的就是type,如果type不一致就會(huì)重新渲染(remove然后append)。
題主currentItem.isLeaf 變化時(shí),對(duì)應(yīng)的正好就是type發(fā)生變化,因此會(huì)重新渲染。
ajax的open開啟的是什么連接,是TCP連接還是HTTP連接
ajax請(qǐng)求的連接,既是TCP也是HTTP連接,因?yàn)镠TTP是應(yīng)用層的連接,傳輸層用的是TCP
ajax的連接有長(zhǎng)連接和短連接之分嗎?
多數(shù)Web服務(wù)器軟件都是用HTTP/1.1協(xié)議, 你十有八九不用設(shè)置已經(jīng)以用Connection: keep-alive了. 這取決于服務(wù)器端的配置.
assetsSubDirectory,你應(yīng)該再改一下這個(gè)字段。
補(bǔ)充:
// utils.js
exports.assetsPath = function (_path) {
const assetsSubDirectory = process.env.NODE_ENV === 'production'
? config.build.assetsSubDirectory
: config.dev.assetsSubDirectory
return path.posix.join(assetsSubDirectory, _path)
}
// webpack.base.conf.js
test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
loader: 'url-loader',
options: {
limit: 10000,
name: utils.assetsPath('img/[name].[hash:7].[ext]')
}
lz看一下utils的assetsPath方法和webpack.base.conf.js中有關(guān)圖片類型的loader處理路徑,這樣大概就能夠明白最終編譯的static/img是怎么來(lái)的了。
layer.load() 沒關(guān)掉呀
var index = layer.load()
layer.close(index) // 這樣才能關(guān)閉 load 層,否則會(huì)一直 loadgithub上還有的 我前兩天剛下載過(guò)
性能沒太大影響,如果頁(yè)面需要搜索引擎收錄的好這樣不行,爬蟲爬取的頁(yè)面不執(zhí)行js,如果不需要搜索引擎收錄,這種ajax請(qǐng)求之后,數(shù)據(jù)渲染用戶體驗(yàn)度還是不錯(cuò)的
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國(guó)IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國(guó)家
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國(guó)一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國(guó)成功上市,融資1
北大課工場(chǎng)是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國(guó)家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國(guó)制造2025”,實(shí)現(xiàn)中華民族偉大復(fù)興的升級(jí)產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國(guó)職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺(tái)面向?qū)ο箝_發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫(kù),具有快速界面開發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁(yè)制作和網(wǎng)頁(yè)游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國(guó)Software AG 技術(shù)顧問,美國(guó)Dachieve 系統(tǒng)架構(gòu)師,美國(guó)AngelEngineers Inc. 系統(tǒng)架構(gòu)師。