navigator.language;
navigator.languages;
建議題主在配置中開(kāi)啟stats:'detailed'(用這個(gè)其實(shí)日志更有條理)或stats:'verbose',獲取更詳細(xì)的構(gòu)建日志,這樣能看到更多的構(gòu)建細(xì)節(jié)。
頂部的那部分,表示構(gòu)建輸出結(jié)果
asset列 - 指構(gòu)建后輸出的資源文件,名稱由filename的配置決定,如可能是[name].[hash].js這樣子size列 - 指構(gòu)建后輸出的資源文件的大小emitted列 - 指文件被輸出Chunk Names列 - 指這個(gè)構(gòu)建塊的名稱,即各個(gè)chunk塊輸出期間chunk塊名稱,比如entry配置項(xiàng)里定義的入口名稱、CommonsChunkPlugin里定義的名稱等等Chunks列 - 表示有每個(gè)入口chunk中有哪些模塊也被當(dāng)成了入口chunk處理底部的部分,表示構(gòu)建輸出過(guò)程
構(gòu)建過(guò)程如下:
因?yàn)闆](méi)有使用詳細(xì)的日志輸出,所以解釋上會(huì)少了一些細(xì)節(jié),我做適當(dāng)?shù)难a(bǔ)充。
最左邊的數(shù)字表示構(gòu)建過(guò)程處理每個(gè)模塊順序(每次構(gòu)建都會(huì)因?yàn)槟愦a中模塊引入的順序隨時(shí)改變)
黃色數(shù)字那塊表示當(dāng)前資源chunk塊里被用到過(guò),如果被多個(gè)chunk用到,那么這里就會(huì)是多個(gè)數(shù)字
綠色built表示它是構(gòu)建過(guò)程的一部分
var kaiguan=1;
onclick=function(){
if(kaiguan){
alert('執(zhí)行第一次操作');
kaiguan = 0;
}
}
糾結(jié)了很久,偶然查詢表單的資料找到了突破口。還是由于自己知識(shí)不過(guò)關(guān)造成的。
enctype屬性規(guī)定在發(fā)送到服務(wù)器之前應(yīng)該如何對(duì)表單數(shù)據(jù)進(jìn)行編碼。默認(rèn)地,表單數(shù)據(jù)會(huì)編碼為
"application/x-www-form-urlencoded"。就是說(shuō),在發(fā)送到服務(wù)器之前,所有字符都會(huì)進(jìn)行編碼(空格轉(zhuǎn)換為 "+" 加號(hào),特殊符號(hào)轉(zhuǎn)換為 ASCII HEX 值)。
| 值 | 描述 |
|---|---|
| application/x-www-form-urlencoded | 在發(fā)送前編碼所有字符(默認(rèn)) |
| multipart/form-data | 不對(duì)字符編碼。在使用包含文件上傳控件的表單時(shí),必須使用該值。 |
| text/plain | 空格轉(zhuǎn)換為 "+" 加號(hào),但不對(duì)特殊字符編碼。 |
當(dāng)然,表單是何如編碼的,服務(wù)器處理的請(qǐng)求的時(shí)候就需要使用相應(yīng)的解析器對(duì)其進(jìn)行解碼。在這個(gè)案例中,需要使用 urlencoded 的解析器:
const urlencodedParser = bodyParser.urlencoded();
server.post('/test', urlencodedParser, (req, res, next) => {
console.log(req.body);
next()
})id 是一個(gè)數(shù)字,怎么可能即是 3 又是 7 。
activate-power-mode
樓上正解
一般前端處理這樣的事情,都是把 <input type=file> 處理透明,然后放置在圖片上,這個(gè)時(shí)候點(diǎn)圖片的時(shí)候,其實(shí)點(diǎn)的是 input 。。
僅供參考。
我的測(cè)試結(jié)果你可以參考下
系統(tǒng):ubuntu
cpu:單核
內(nèi)存:2G
硬盤:50G
帶寬:1M
web服務(wù)器:tomcat
測(cè)試工具:http_load
外網(wǎng)訪問(wèn),tps只有20左右,卡在寬帶那里。內(nèi)網(wǎng)測(cè)試,tps能達(dá)到3000左右
webpack 編譯 圖片是有規(guī)則的,你可以自己配置小于多少M(fèi)的圖片進(jìn)行編譯,目前你的情況是只將一些小的圖片編譯了,他也是從頁(yè)面優(yōu)化的角度出發(fā),大圖片編譯成 base64 的話,得不償失,會(huì)造成加載頁(yè)面文件太大,小的圖片編譯是為了減少 http 請(qǐng)求,從而提升加載效率。
你試試border-radius: 120rpx;可能是rpx和px換算的關(guān)系導(dǎo)致。
圖片也用upload組件包裹起來(lái)
<Upload
className={style['avatar-uploader']}
name='file'
showUploadList={false}
multiple={true}
data={this.getUploadToken()}
accept='.png,.jpg'
action='http://xxxxxx'
beforeUpload={this.beforeUpload.bind(this)}
onChange={this.handleUploadChange}
>
{
this.state.imageUrl
? <img src={this.state.imageUrl} className={style['avatar']} />
: <Icon type='plus' className={style['avatar-uploader-trigger']} />
}
</Upload>
你可能對(duì)jsonp有什么誤解jsonp的返回值必須是一個(gè)回調(diào)函數(shù) js代碼 并不是json數(shù)據(jù)
你這個(gè)json文件配了Access-Control-Allow-Origin: * 可以直接獲取
axios.get('http://rrrrrrk.tech/data.json').then(function(res){
console.log(res)
})還是右鍵另存為實(shí)用
檢查一下Content-Disposition
和content-type
input輸入框設(shè)置readonly屬性后,為只讀狀態(tài),oninput事件就無(wú)法監(jiān)聽(tīng)輸入框內(nèi)容改變,當(dāng)然事件就無(wú)法執(zhí)行。
我使用下面這個(gè)來(lái)實(shí)現(xiàn)Promise的:
promisify.js
module.exports = (api) => {
return (options, ...params) => {
return new Promise((resolve, reject) => {
api(Object.assign({}, options, { success: resolve, fail: reject }), ...params);
});
}
}
然后包裹wx.request
const promisify = require('./promisify.js')
request = promisify(wx.request)
request({
method: 'POST',
url: url,
data: data,
header: {
'content-type': 'application/x-www-form-urlencoded' //application/json
},
}).then(...)
這里可以封裝一個(gè)帶有success和fail的post,就能避免每次都填method和header
//PHP不會(huì)JS編寫,這種屬于算法題
function countSheep(X = 1,N = 2){
var $five = [X,0,0,0,0];
while( N-- ){
$five.unshift($five[1]+$five[3]);//將第四年和第二年的羊生下的羊羔放入數(shù)組
}
var count = $five[0]+$five[1]+$five[2]+$five[3]+$five[4];//計(jì)算0-4歲的羊的只數(shù)
}
//X表示初始羊的個(gè)數(shù),N表示第n年后羊的數(shù)量
固定一下table外框的高度就可以了,當(dāng)里面的內(nèi)容高度大于外框的高度自然就會(huì)出現(xiàn)豎向的滾動(dòng)條
總得來(lái)說(shuō)是我自己寫的不嚴(yán)謹(jǐn),算是曲線救國(guó)了,修改componentWillReceiveProps()變成
componentWillReceiveProps(nextprops){
let refresh = false;
Object.keys(nextprops).forEach((value, index) => {
if(nextprops[value] != this.props[value]){
refresh = true;
}
})
if(!refresh) return;
this.refreshProps(nextprops);
}
先在 componentWillReceiveProps 判定一下nextprops是否變化了,變化了則刷新組件,這個(gè)暫時(shí)解決了多個(gè)(超過(guò)兩個(gè))ajax請(qǐng)求的問(wèn)題,有幾個(gè)prop參數(shù),componentWillReceiveProps 就會(huì)執(zhí)行幾遍。
然后把a(bǔ)jax請(qǐng)求拆分成單獨(dú)的函數(shù),判斷必填ajax參數(shù)是否為空,為空就不執(zhí)行,解決了兩個(gè)ajax請(qǐng)求的問(wèn)題(請(qǐng)求參數(shù)不嚴(yán)謹(jǐn),為空也發(fā)送請(qǐng)求。)
北大青鳥(niǎo)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)開(kāi)發(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ū)ο箝_(kāi)發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫(kù),具有快速界面開(kāi)發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁(yè)制作和網(wǎng)頁(yè)游戲開(kāi)發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開(kāi)發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國(guó)Software AG 技術(shù)顧問(wèn),美國(guó)Dachieve 系統(tǒng)架構(gòu)師,美國(guó)AngelEngineers Inc. 系統(tǒng)架構(gòu)師。