時(shí)間:2023-08-29 19:30:01 | 來(lái)源:網(wǎng)站運(yùn)營(yíng)
時(shí)間:2023-08-29 19:30:01 來(lái)源:網(wǎng)站運(yùn)營(yíng)
超詳細(xì)的Web前端開(kāi)發(fā)規(guī)范手冊(cè):本文主要從以下幾個(gè)方面來(lái)概述前端的開(kāi)發(fā)規(guī)范- 簡(jiǎn)潔明了(如下:)1.2 根目錄(root)結(jié)構(gòu)按職能劃分(如下:)
* src 源代碼
* img 圖片資源
* js JavaScript腳本
* dep 第三方依賴包
- 不使用復(fù)數(shù)(如下:)
* 不使用 imgs docs
- src 源代碼(邏輯)1.3 根據(jù)業(yè)務(wù)邏輯進(jìn)行文件夾的劃分(如下:)
- doc 文檔
- dep 第三方依賴包
- test 測(cè)試
- src目錄名詞解釋:1.4 總結(jié):
- common 公共資源
- public/static 靜態(tài)資源
- component 組件
- view/tpl 模板文件
```
src
common 公共資源
img
logo.png
sprites.png
css
reset.css
js
conf.js 項(xiàng)目的配置文件
public/static 靜態(tài)資源
js
css
tpl
index.html
shopcar.html
img
component 組件
home
shopcar
login
register
user
list
detail
view/tpl 項(xiàng)目模板 tpl 是 template的縮寫
```
以上目錄開(kāi)發(fā)規(guī)范有兩種使用途徑2. 前端命名規(guī)范
1. 使用前端工程化工具如webpack、gulp等進(jìn)行手動(dòng)打造
2. 利用框架提供的腳手架工具進(jìn)行修改
- 概念:2.1.2 OOCSS規(guī)范
Block Element Modifier,它是一種前端命名方法,旨在幫助開(kāi)發(fā)者實(shí)現(xiàn)模塊化、可復(fù)用、高可維護(hù)性和結(jié)構(gòu)化的CSS代碼。
- BEM是定義了一種css class的命名規(guī)范,每個(gè)名稱及其組成部分都是存在一定的含義。
- 由拉丁字母, 數(shù)字, -組成css的單個(gè)名稱.
- Block Element Modifier
- 獨(dú)立且有意義的實(shí)體, e.g. header, container, menu, checkbox, etc.
- Block的一部分且沒(méi)有獨(dú)立的意義, e.g. header title, menu item, list item, etc.
- Blocks或Elements的一種標(biāo)志,可以用它改變其表現(xiàn)形式、行為、狀態(tài). e.g. disabled, checked, fixed, etc.
- Naming
由拉丁字母, 數(shù)字, -組成css的單個(gè)名稱.
- Block
使用簡(jiǎn)潔的前綴名字來(lái)命名一個(gè)獨(dú)立且有意義的抽象塊或組件。
```css
<!-- e.g. -->
.block
.header
.site-search
```
- Element
使用__連接符來(lái)連接Block 和 Element。
```css
<!-- e.g. -->
.block__element
.header__title
.site-search__field
```
- Modifier
使用--連接符來(lái)連接Block 或 Element 和 Modifier。
```css
<!-- e.g. -->
.block--modifier
.block__element--modifier
.header--hide
.header__title--color-red
.site-search__field--disabled
```
- 實(shí)例
```html
<!-- HTML文件 -->
<form class="form form--theme-xmas form--simple">
<input class="form__input" type="text" />
<input class="form__submit form__submit--disabled" type="submit" />
</form>
```
```css
<!-- CSS -->
.form {}
.form--theme-xmas {}
.form--simple {}
.form__input { }
.form__submit {}
.form__submit--disabled {}
```
- Buttons實(shí)例
``` html
<!-- HTML文件 -->
<button class="button">
Normal button
</button>
<button class="button button--state-success">
Success button
</button>
<button class="button button--state-danger">
Danger button
</button>
```
```css
<!-- CSS文件中 -->
.button {
display: inline-block;
border-radius: 3px;
padding: 7px 12px;
border: 1px solid #D5D5D5;
background-image: linear-gradient(#EEE, #DDD);
font: 700 13px/18px Helvetica, arial;
}
.button--state-success {
color: #FFF;
background: #569E3D linear-gradient(#79D858, #569E3D) repeat-x;
border-color: #4A993E;
}
.button--state-danger {
color: #900;
}
```
- 概念2.2 js編寫代碼規(guī)范
Object Oriented CSS,面向?qū)ο蟮腃SS,旨在編寫高可復(fù)用、低耦合和高擴(kuò)展的CSS代碼。
OOCSS是以面向?qū)ο蟮乃枷肴ザx樣式,將抽象和實(shí)現(xiàn)分離,抽離公共代碼。
- 總結(jié):
將重用的東西當(dāng)做一個(gè)對(duì)象來(lái)看, 然后將不同的屬性 放到另一個(gè)類名去
```css
<!-- 舉例: -->
.list{
background: #fff;
}
.list--width{
width: 300px;
}
```
· jslint3. 前端工作規(guī)范
· eslint
- 上午你做什么3.2 周報(bào)內(nèi)容如下:
- 下午你做了什么
- 遇到什么問(wèn)題?是否有解決?
- 明天的計(jì)劃?(明天準(zhǔn)備做什么)
- 最后在內(nèi)容最后面跟上日期
<!-- 舉例: -->7. 回調(diào)函數(shù)規(guī)范:
var totalPrice = 1; //totalPrice表示商品購(gòu)物車的總價(jià) √
var num = 10,totalNum = 100 ; 不建議
let callback = new Promise((resolve, reject) => {8. 標(biāo)點(diǎn)規(guī)范
if (/* 異步操作成功 */){
resolve(value);
} else {
reject(err);
}
});
callback.then((res) => {
console.log('成功回調(diào)!', res);
}).catch((err) => {
console.log('失敗回調(diào)!', err);
});
function zxm(a,b,name = 'zxm'){
console.log(name)
}
關(guān)鍵詞:規(guī)范,手冊(cè),詳細(xì)
客戶&案例
營(yíng)銷資訊
關(guān)于我們
客戶&案例
營(yíng)銷資訊
關(guān)于我們
微信公眾號(hào)
版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。