session可以存數(shù)組的,沒登錄你就先給他扔session里面,離開頁面就消失了;如果登錄了你就把他同步到登錄的這個人的信息里面
這些基本都是模塊化方案,實際上自己頁很容易寫出模塊化的原理
如webpack
(function(modulesArr) {
var rootModule = {};
function __require__(id) {
if (rootModule[id]) {
return rootModule[id].exports;
}
var currentModule = modulesArr[id];
var module = {
id,
exports: {}
};
currentModule.call(module.exports, module.exports, module, __require__);
currentModule[id] = module;
return module.exports;
}
return __require__(0);
})([
function(exports, module, require) {
var m1 = require(1);
console.log(m1);
},
function(exports, module, require) {
exports.msg = 'Hello World';
var m2 = require(2);
m2();
},
function(exports, module, require) {
module.exports = function() {
var str = 'Hello World';
console.log(str);
return str;
};
}
]);
我自己實現(xiàn)的browser端模塊化
(function(global) {
'use strict';
var errMsg = Math.random().toString(32).substr(2);
var rootModule = {};
function ModuleCtor(id) {
if (!this || this.__proto__ !== ModuleCtor.prototype) {
return new ModuleCtor(id);
}
this.id = id;
this.exports = {};
this.loaded = !1;
}
function define(id, fn) {
if (typeof id === 'function') {
fn = id;
id = document.currentScript
? document.currentScript.src
: Math.random()
.toString(32)
.substr(2);
}
if (typeof id !== 'string') {
id = '' + id;
}
var module = ModuleCtor(id);
exec();
function __require__(src) {
if (rootModule[src] && rootModule[src].__proto__ === ModuleCtor.prototype) {
return rootModule[src].exports;
}
loadScript(src, function() {
exec();
});
throw new Error(errMsg);
}
function exec() {
try {
fn.call(module.exports, module.exports, module, __require__);
module.loaded = !0;
rootModule[id] = module;
} catch (err) {
if (err.message !== errMsg) {
throw err;
}
}
}
}
function loadScript(src, callback) {
var script = document.createElement('script');
script.src = src;
script.onload = function() {
callback && callback(src);
};
document.body.appendChild(script);
return script;
}
global.define = define;
})(window);
本質(zhì)都是js沒有模塊,所以我們就想到全局暴露一個rootModule對象,每一個鍵都是一個模塊,exports對象是依賴的暴露。
如a.js
module.exports = 'Hello World';
b.js
var chars = require('./a');
process.stdout.write(chars + '\n'); // Hello World
但是我們怎么實現(xiàn)呢,(一)編譯:如webpack,(二)暴露一個函數(shù),如requirejs、seajs。
webpack 可以配置 output libraryTarget: 'umd', library: 'globalVarName' 打題主說的這種umd包,兼容瀏覽器,requirejs,node環(huán)境。
另外我還是忍不住吐槽一下seajs的垃圾,一個文件的多個require發(fā)請求時沒有順序之分,字符串正則來分析依賴。。。如果jQuery的plugin依賴jQuery,需要對jQueryplugin改一下代碼討個套個客,不能直接想requirejs直接在config中聲明依賴。垃圾。當(dāng)然我自己寫的模塊加載更垃圾,連依賴都不分析。多try幾次必然成功。
element-ui有網(wǎng)格布局
element-ui 畢竟是pc項目 可能對移動端兼容不是很好
iview 建議了解一下
https://www.iviewui.com/
干嗎用?二級路由嗎?
app webview 跳轉(zhuǎn)的時候可以攔截跳轉(zhuǎn)的。攔截的地址就是跳轉(zhuǎn)的地址,這樣獲取不到嗎?
如果是前端是 SPA 就需要前端配和原生配合,前端切換路由的時候觸發(fā)下約定的通知方式就可以了。
那你都知道了還在問什么...
前后端分離后,如果是不同的團(tuán)隊維護(hù),可以考慮前端頁面部署在獨立的服務(wù)器上,當(dāng)然需要先解決跨域訪問的問題。
增加一個頂級父節(jié)點字段
試試 eslint --fix --debug action.js。
--debug 參數(shù)可以輸出更加詳細(xì)的調(diào)試信息。
你學(xué)長跟你老師說的都沒錯,他們講的不是一個側(cè)重點,
首先你學(xué)長說的對,不要用 HTML 來控制樣式,使用 CSS 來控制樣式。
放棄你的 <table width="200"> 這種寫法。
你老師的意思想必是『學(xué)習(xí)前端要先從 HTML 入門,弄懂 HTML 的基礎(chǔ)知識才好繼續(xù)學(xué)習(xí)更深入的前端知識』吧。他可沒說『先用 HTML 來控制樣式吧,以后再用 CSS 來控制樣式?!?/p>
然后大牛說的先從 HTML5 入手,我就連帶著下面的 3 個問題一起講了。
希望對你有幫助。
第一個是運行函數(shù),(function)(),自運行匿名函數(shù)。第二個你可以想象一個你吃雞腿,你把雞腿拿在左手吃換成了拿右手吃~樓上說的很對~
你可能需要先學(xué)習(xí)javascript再學(xué)習(xí)nodejs,fs.readFile的回調(diào)函數(shù)作用域下并沒有res的定義。
個人認(rèn)為這是外邊距合并的問題。
如果在父元素與其最后一個子元素之間不存在邊框、內(nèi)邊距、行內(nèi)內(nèi)容、height、min-height、max-height將兩者的 margin-bottom 分開,那么這兩對外邊距之間會產(chǎn)生折疊。此時子元素的外邊距會“溢出”到父元素的外面。
div元素不設(shè)置邊框的時候,減少最后一個元素的marginBottom值會發(fā)現(xiàn)div這個父元素的高度不再變化。
這是因為設(shè)置在dot元素上的外邊距相當(dāng)于轉(zhuǎn)移到父元素上,所以通過window.getComputedStyle(document.body.firstElementChild).height取到的div的content-box高度是不會發(fā)生變化的。
當(dāng)div元素設(shè)置了邊框的時候,減少最后一個元素的marginBottom值會發(fā)現(xiàn)div這個父元素的高度在不斷減少。
設(shè)置邊框后外邊距不再合并,所以div父元素content-box為子元素的border-box高度總和,會隨著dot元素的marigin-bottom減少而減少。
下面定義的h1的hello在以上的兩種情況下都可以穿透div里面的文本。
如果在print下方加上return的話
你有兩個 print ,在第8行的下方加一個 return 沒有任何額外作用。在第10行下文加一個 return 是語法錯誤。
所以,不知道你想問什么。
“卡住”沒有把問題描述清楚,也無法腦補你遇到的卡住是個什么現(xiàn)象。
首先 先了解:
display : inline-flex
值 inline-flex 使彈性容器成為單個不可分的行內(nèi)級元素。
column:
主軸與塊軸方向作為默認(rèn)的書寫模式。即縱向從上往下排列(頂對齊)。
column-reverse:
對齊方式與column相反。
然后再 分析 :
干擾模塊 是模塊4 ,以及 對齊方式 vertical-align屬性 造成的
模塊4是 排列方式是 從下往上 , 模塊三是 從上往下排列
模塊4的高度440px 模塊3的高度也是 440px
因為默認(rèn)的 行業(yè)塊 對齊方式 vertical-align:baseline; 也就是 模塊3從上往下 和模塊4從下往上排列 都是基于 基線的來說的 修改對齊方式就可以 實現(xiàn) 你想要的效果
都是整體刷新,
你可以試試 webpack-dev-server 也是整體刷新,但是感覺比 browser-sync 好
剛剛看了下網(wǎng)站,app.css中反復(fù)引入了 antd 的樣式
(粘貼的圖亂了。。湊合看吧。。。)
不清楚是不是配置或者引入存在問題;
或者可以把css 作為外部資源通過link引入,不再項目里 依賴,避免打包進(jìn)css資源中
另外可以開啟服務(wù)端的 gzip 壓縮,減小整體的資源傳輸體積,當(dāng)然上面的是主要問題
個人意見:這里使用的是v-if,v-if會根據(jù)miao的值來重新渲染加載,是所有該div下的數(shù)據(jù)和視圖重新渲染,所以會再次調(diào)用方法,如果不想這樣,可以使用v-show來試試。
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國制造2025”,實現(xiàn)中華民族偉大復(fù)興的升級產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項目經(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)師。