自己基于promise封裝一下就行了,不用什么都依賴于第三方包。
router.post('/login', async (ctx, next) => {
const options = {
url: 'http://xx.55.41.71:9090/tokens',
method: "POST",
json: true,
headers: {
"content-type": "application/json",
},
body: JSON.stringify({
'userName': 'xxxxxx',
'password': 'xxxxxx'
})
};
ctx.body = await requestPromise(options);
});
// promise 是異步流程控制的基礎(chǔ),自已封裝一下就行了
function requestPromise (options) {
return new Promise((resolve, reject) => {
request(options, (error, response, body) => {
if (error) {
reject(error);
}
resolve(body);
})
})
}
或者更簡單一點(diǎn),直接用原生的 promisify :
const util = require('util');
const request = require('request');
const requestPromise = util.promisify(request);
router.post('/login', async (ctx, next) => {
const options = {
url: 'http://xx.55.41.71:9090/tokens',
method: "POST",
json: true,
headers: {
"content-type": "application/json",
},
body: JSON.stringify({
'userName': 'xxxxxx',
'password': 'xxxxxx'
})
};
const {response, body} = await requestPromise(options);
ctx.body = body;
});
兼容性不好,你去w3c看一下鏈接描述http://www.w3school.com.cn/ta...
https://blog.csdn.net/liuchon... 不太清楚你說的和這個是不是一樣的了。
不行的,是需要服務(wù),你隨便本地起個服務(wù)不就行了,方法很多
bind對象進(jìn)去就行了setInterval(test.all.bind(test),1000);
有區(qū)別的,``是es6中的模板字符串,而''里面就是普通的字符串
你命令是"build2": "webpack --config webpack.prod.js",然后你貼的是webpack.common.js的配置,錯誤信息是在./src/xxx/index.js,理解不能
優(yōu)化點(diǎn):
比如:
if(this.state.safety.length !== 0) {
this.state.safety.map(function (item) {
safetyData[item['name']] = item['value']
})
}
可更改為
get computedSafetyDate() {
...
}
暫時就這么多了
你這是頁面跳轉(zhuǎn)走了呀?跟vue沒關(guān)系了,那個地址是哪的,空白是因?yàn)樗褪强瞻装伞?br>不想跳轉(zhuǎn)的話可以這樣
const link = document.createElement('a');
link.download = '文件名';
link.href = '下載地址'
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
不過ie不兼容,ie的方式自己去搜一下吧。(比如主動彈出一個新窗口去下載之類的)
剛剛看了下網(wǎng)站,app.css中反復(fù)引入了 antd 的樣式
(粘貼的圖亂了。。湊合看吧。。。)
不清楚是不是配置或者引入存在問題;
或者可以把css 作為外部資源通過link引入,不再項(xiàng)目里 依賴,避免打包進(jìn)css資源中
另外可以開啟服務(wù)端的 gzip 壓縮,減小整體的資源傳輸體積,當(dāng)然上面的是主要問題
Cookie具有不可跨域名性。根據(jù)Cookie規(guī)范,瀏覽器訪問Google只會攜帶Google的Cookie,而不會攜帶Baidu的Cookie。Google也只能操作Google的Cookie,而不能操作Baidu的Cookie。
domain:設(shè)置可以訪問該Cookie的域名,但這個是針對子域名或父域名來說的
很簡單的問題花了兩天時間,終于解決了,我F...佛慈悲,咳咳嗯,正經(jīng)說說怎么回事
項(xiàng)目是要部署在阿里云上對外的,簡單說就是要大家在地址欄敲個xxx.com就能訪問到我的網(wǎng)站。而樓主之前一直項(xiàng)目組做本地調(diào)試
假設(shè)本地有兩個Vue工程,如果一個工程被npm run dev,就會跑在localhost:8080,那么80端口被占用了,不能再占一個8080,只能改用8081,做法如題問中描述
但是,當(dāng)發(fā)布到阿里云之后,設(shè)置好的8081不起作用了怎么回事呢?
現(xiàn)在針對同一個阿里云分配的IP地址,樓主申請了兩個域名hehe.com和lala.com,希望訪問hehe.com時對應(yīng)顯示工程hehe,訪問lala.com時,對應(yīng)顯示工程lala
其實(shí)我們的所有設(shè)置都是針對開發(fā)環(huán)境(關(guān)鍵字:dev/development),而部署在阿里云上被稱為生產(chǎn)環(huán)境(關(guān)鍵字:production)
那生產(chǎn)環(huán)境怎么還不受代碼控制呢?這個需要展開來講:
我們開發(fā)的工程,需要一步步測試調(diào)試
在開發(fā)環(huán)境下修改一小段code都可以看到相應(yīng)的效果
而當(dāng)你解決所有bug,認(rèn)為代碼perfect的時候,就會npm run build
這是做什么呢?就是把你的項(xiàng)目打包成一個靜態(tài)文件,什么叫靜態(tài)文件?Emmm...就理解成打包成一坨,里里外外都不能改的,可以直接運(yùn)行出你perfect的效果
這個文件在哪里呢?當(dāng)你build之后會看到根目錄下有個dist
文件,吶,就是這個,先記住他哦
然后就可以運(yùn)行了么?Nope
這是個文件,讓它run在阿里云服務(wù)器上我們需要一個代理服務(wù)器nginx
,你可以理解為你有個.doc文件,總需要個Microfoft Word來打開的對吧,這里的nginx
可以幫你打開靜態(tài)文件讓它run起來
所以
nginx.conf
,吶關(guān)鍵來啦,這個配置文件可以幫助我們實(shí)現(xiàn)對應(yīng)域名,對應(yīng)文件的強(qiáng)大功能啦,下面粘貼一小段配置代碼,可以看到hehe工程和hehe.com對對應(yīng)起來了,可以看到lala工程和lala.com對對應(yīng)起來了,端口號
可以通過修改listen
后的數(shù)字來設(shè)置#第一個服務(wù)器
server {
#這里的default_server標(biāo)識服務(wù)器為默認(rèn)服務(wù)器,無對應(yīng)域名情況下會對應(yīng)至該服務(wù)器
listen 80 default_server;
#和上一句語義相同,上句對應(yīng)Ipv4這里對應(yīng)Ipv6
listen [::]:80 default_server;
#對應(yīng)的靜態(tài)文件根目錄,把你的hehe工程的dist里面的內(nèi)容放在這里
root /var/www/hehe;
index index.html index.htm index.nginx-debian.html;
#對應(yīng)的第一個域名
server_name hehe.com;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ @router;
index index.html;
}
location @router{
rewrite ^.*$ /index.html last;
}
}
#第二個服務(wù)器
server {
#這里應(yīng)該不設(shè)置default_server否則會報錯,注:端口號可與另一服務(wù)器重復(fù)
listen 80;
listen [::]:80;
#對應(yīng)的靜態(tài)文件路徑
root /var/www/lala;
index index.html index.htm index.nginx-debian.html;
#對應(yīng)的第二個域名
server_name lala.com;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ @router;
index index.html;
}
location @router{
rewrite ^.*$ /index.html last;
}
}
根據(jù)你的想法,你有兩個需要做的。第一,是學(xué)會爬蟲。第二,是學(xué)會建站。很幸運(yùn),這兩個需求,你只需去學(xué)習(xí)一門語言即可,那就是python。第一,python是一門非常優(yōu)秀的爬蟲語言。第二,python擁有很多快速建站的框架,如:Django或者Flask。這里推薦你學(xué)習(xí)一下Flask這個框架,它屬于輕量級的,比較容易上手。
$scope.$apply();你在控制器的底部加上這一行試試
你想要倆行 那你把V-for 寫在"tr"上面
weex-market里面很多東西很久都沒更新了,根本跟現(xiàn)在的版本都不匹配了,我之前用weex-chart就是,根本沒發(fā)用,但是weex-map沒試過了,你去weex學(xué)院看看,有一個用weex-map開發(fā)的跑步app,里面有用到weex-map,代碼是開源的
第一個alert
:返回的函數(shù)里面返回this.name
,因?yàn)楹罄m(xù)沒有引用,所以getNameFunc
直接釋放了,因此這里的this
存在丟失問題,這時候直接指向了window
,于是alert的是The Window
。
第二個alert
:返回的函數(shù)里面返回that.name
,但是這里的that
在getNameFunc
有定義,因此getNameFunc
就沒有被釋放,然后存在在作用域中,于是可以通過作用域鏈向上查找that,先找到的是object
作用域,于是alert
的是My Object
。
第二個alert
體現(xiàn)的就是閉包的作用,能夠保持作用域鏈的引用,可以在全局環(huán)境下訪問到函數(shù)的內(nèi)部作用域。
你這個問題叫模塊化開發(fā),具體在小程序中可以參考官方文檔:https://mp.weixin.qq.com/debu...
根據(jù)他們的文檔我們可以知道,對于要復(fù)用的JS可以采取2種方式進(jìn)行開發(fā):
方式1:將公共方法定義在App()中,再通過全局函數(shù) getApp() 可以獲取全局的應(yīng)用實(shí)例及其內(nèi)部方法。
方式2:單獨(dú)定義一個JS文件,通過require的方法引入JS。
以上總體介紹了小程序的模塊化開發(fā),接下來針對你的問題回答:
1、你定義的common.js文件不能在wxml文件中引入,應(yīng)該在wxml文件對應(yīng)的js文件中引入common.js。建議不要在wxml中直接操作JS,而應(yīng)該通過對應(yīng)的JS中的data改變頁面的狀態(tài),wxml只負(fù)責(zé)頁面的呈現(xiàn)。補(bǔ)充:js的引入用require,而wxml中引入其他wxml要用import。
2、wxs(WeiXin Script)文件是小程序最近才引進(jìn)的一套機(jī)制,它允許wxml和wxs混在一個頁面中開發(fā),估計(jì)是跟隨現(xiàn)在組件化開發(fā)的大潮流吧。wxs 與 javascript 是不同的語言,有自己的語法,并不和 javascript 一致。建議你先不要用wxs這東西,它是騰訊自己的一套類似JS的語法。
vue說他們?yōu)榱私档统叽鐪p少重復(fù),并沒有提供ajax的相關(guān)內(nèi)容.你可以使用自己熟悉的ajax庫或者直接用原生的form去提交表單.
參考一下vuejs的官方示例(axios)
https://cn.vuejs.org/v2/guide... 偵聽器一節(jié)
你好,我的思路如下,有不清楚的歡迎交流。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
.box{
width: 100px;
height: 30px;
line-height: 30px;
border: 1px solid #ccc;
text-align: center;
font-size: 14px;
position: relative;
}
.box:after{
content: "";
height: 1px;
width: 100%;
background-color: #fff;
position: absolute;
bottom: -1px;
left: 0;
display: none;
}
.con{
height: 100px;
width: 300px;
border: 1px solid #ccc;
display: none;
position: absolute;
left: -1px;
}
.box:hover:after{
display: block;
}
.box:hover .con{
display: block;
}
</style>
</head>
<body>
<div class="box">
<span>我的購物車</span>
<div class="con">
購物車的內(nèi)容
</div>
</div>
</body>
</html>
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
北大青鳥中博軟件學(xué)院創(chuàng)立于2003年,作為華東區(qū)著名互聯(lián)網(wǎng)學(xué)院和江蘇省首批服務(wù)外包人才培訓(xùn)基地,中博成功培育了近30000名軟件工程師走向高薪崗位,合作企業(yè)超4
中公教育集團(tuán)創(chuàng)建于1999年,經(jīng)過二十年潛心發(fā)展,已由一家北大畢業(yè)生自主創(chuàng)業(yè)的信息技術(shù)與教育服務(wù)機(jī)構(gòu),發(fā)展為教育服務(wù)業(yè)的綜合性企業(yè)集團(tuán),成為集合面授教學(xué)培訓(xùn)、網(wǎng)
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jī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ù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。