我是這樣處理的,在app.js中實現(xiàn)一個方法來處理這種數(shù)據(jù),比如處理登錄信息:
// app.js
App({
//...
setupLogin: function(data, cb) {
if (data) {
// 如果傳入了數(shù)據(jù)(比如初次登錄),就更新
wx.setStorageSync('loginData', data)
} else {
// 如果沒有就從本地storage里取登錄信息
data = wx.getStorageSync('loginData')
}
if (data && data != [] && data != "") {
this.globalData.loginData = data
} else {
this.globalData.loginData = null
}
if (cb) {
cb()
}
}
})
每次小程序加載的時候調(diào)用一次setupLogin,將數(shù)據(jù)保存在app.globalData里,這樣用到的時候獲取就更方便。在這里,我會根據(jù)app.globalData.loginData是否為null來判斷是否需要進行登錄操作。
如果還需要處理其他類似的數(shù)據(jù),也可以這樣做。
當然,你也可以封裝一個方法,來專門實現(xiàn)這一連串操作。
這個不是 webpack 要求的,是 webpack.definePlugin 要求的。后者會把你代碼里的變量替換成指定的內(nèi)容,用來輸出特定環(huán)境要求的代碼。
想象一下,你的代碼會發(fā)布兩個版本,一個是試用版,一個是正式版。試用版中到達一定條件后會中斷執(zhí)行,你就可以這樣做:
if (IS_TRIAL) {
alert('這是試用版');
return;
}
然后在變量配置中定義
module.exports = {
IS_TRIAL: true;
}
打包編譯后的代碼就變成了
if (true) {
//...
}
那么,如果變量是個字符串,比如:if (VERSION === 'trial'),但是你不加引號,就變成了 if (trial === 'trial'),這時 JS 會認為前面一個是變量,就會導(dǎo)致一些奇怪的問題。
我的 webpack.prod.conf.js 配置
plugins: [
...
new ParallelUglifyPlugin({
cacheDir: '.cache/',
uglifyJS: {
output: {
comments: false
},
compress: {
warnings: false
}
},
sourceMap: config.build.productionSourceMap
}),
...
]
打包沒問題
不用正則只好字符串遍歷咯。多問一句,用正則很方便,為什么不讓用?
貌似沒有,這是小程序的bug
把node_modules手動刪除后, npm install 一次, 再 npm run dev,看看還有錯誤嗎
這是tp5的機制,自動默認加載當前模塊下的配置文件。可以調(diào)用b模塊的函數(shù)前,先動態(tài)加載b模版的函數(shù)。
Config::load(APP_PATH.'b/config.php');
我看一下tp5.1的源碼, config的load類如下。
/**
* 加載配置文件(多種格式)
* @access public
* @param string $file 配置文件名
* @param string $name 一級配置名
* @return mixed
*/
public function load($file, $name = '')
{
if (is_file($file)) {
$name = strtolower($name);
$type = pathinfo($file, PATHINFO_EXTENSION);
if ('php' == $type) {
return $this->set(include $file, $name);
} elseif ('yaml' == $type && function_exists('yaml_parse_file')) {
return $this->set(yaml_parse_file($file), $name);
}
return $this->parse($file, $type, $name);
}
return $this->config;
}
file的參數(shù)可以如下:
$obj->load('../application/b/config.php');
不嫌麻煩的,我建議定義一個常量APP_PATH
去除const variety1 = response.data[i].signalj,const variety2 = response.data[i].signalj+1這兩條數(shù)據(jù)定義,直接使用即可
你的windows分區(qū)應(yīng)該是ntfs吧? linux對ntfs的“寫”操作,需要配置后才能打開,參考下面的網(wǎng)站,一步步配置就可以了。
https://www.howtoforge.com/nt...
但是,我更推薦你用虛擬機的方式,你在windows下安裝虛擬機軟件,比如virtualbox,虛擬機里安裝ubuntu,然后在兩個系統(tǒng)間交換文件會方便的多。
透明度會被繼承,你過度要對元素添加
你把setTimeout這塊代碼改一下:
setTimeout(function(){
console.log(sphereGeometry);
var timer = setInterval(function(){
// 改變球的透明度 (我這里修改透明度無效?)
console.log(sphereMaterial.opacity);
console.log(sphere.material.opacity);
// 因為sphereMaterial.opacity和sphere.material.opacity值是相等的,所以只判斷一個
if(sphereMaterial.opacity > 0){
sphereMaterial.opacity -= 0.05;
sphere.material.opacity -= 0.05;
}
else {
sphere.material.transparent = true;
clearInterval(timer);
}
}, 100)
}, 1000)
你主要沒加sphere.material.transparent = true;這行代碼,其作用是讓材質(zhì)設(shè)置透明屬性為true
catag 是一個對象,JS 中對象的互相賦值都是對值的引用,所以每次修改的項 都是 同一個項的值,導(dǎo)致了前面被覆蓋。
var a = {aa: 123};
var b = a;
b.aa = 456;
a // {aa: 456}wx.getUserinfo 返回的信息中,解密encryptedData需要用到session_key,session_key需要wx.login中才獲取的到。所以,想拿到敏感數(shù)據(jù)必須調(diào)用登錄接口。
不能,你自己換個賬戶試試就知道了。
build只是build,沒有deploy,jsp文件需要deploy到web目錄,才能生效,所以你需要確認在build之后,把jsp復(fù)制到web目錄,否則就不能生效。
你是對js的引用類型理解不充分
console.log(document.createElement("script")===document.createElement("script"))
你運行一下上面的代碼,看看結(jié)果
還有
ret=fn.apply(this,arguments)
相當于
ret=document.createElement("script");
或
ret=(function(){
return document.createElement("script");
}).apply(this,arguments)
ret=window.(function(arguments){
return document.createElement("script");
})=document.createElement("script");
是只有訪問一個未定義的變量時,才會去window對象上面找
感覺你需要的是洗牌算法,洗牌算法就是shuffle函數(shù)。
先看一下前端獲得了圖片的地址沒有,如果獲得了,然后在后臺接收的時候看一下獲得地址沒有,排一下是前端的問題還是后臺接收的問題
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達內(nèi)教育集團成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國家深化產(chǎn)教融合/校企合作的政策,積極推進“中國制造2025”,實現(xiàn)中華民族偉大復(fù)興的升級產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責任公司從事總經(jīng)理職務(wù)負責iOS教學(xué)及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。