weex-style-loader:給你熟悉的style開發體驗
使用
weex
開發了兩個專案,感受到了其跨平臺動態性的強大;另一最直接的感受就是,作為一名前端,不能像平常那樣編寫css
,要不定義內聯style
,要不定義single-class selector
,絞盡腦汁去給每個標籤起className
像這樣
<style>
.mod-app-entry {
...
}
.entry-item {
...
}
.entry-img {
...
}
.entry-txt {
...
}
</style>
<template>
<div class="mod-app-entry">
<a class="entry-item" repeat="{{list}}" href="{{jumpUrl}}">
<image class="entry-img" src="{{imgUrl}}"></image>
<text class="entry-txt">{{title}}</text>
</a>
</div>
</template>
作為前端,這樣子臣妾做不到
筆者更希望能跟熟悉的味道一樣
- 使用
任意選擇器
,元素選擇器、組合選擇器; - 使用
繼承
;
像這樣
<style>
.mod-app-entry {
/*定義全域性樣式*/
color: #999;
font-size: 24;
}
a {
...
}
image {
...
}
.mod-app-entry text {
/*覆蓋color:#999,繼承font-size:24*/
color: #f00;
text-align: center;
}
</style>
<template>
<div class="mod-app-entry">
<a repeat="{{item in list}}" href="{{item.pluginUrl}}">
<image src="{{item.imgUrl}}"></image>
<text>{{item.title}}</text>
</a>
</div>
</template>
味道還是熟悉的好,可是該怎麼做呢?
幸好,weex
提供的weex-loader支援webpack
打包,於是並有了編寫weex-style-loader
的想法
將我們平常編寫的 style 轉換成
single class selecor
style,這樣就可以愉快地開發weex
了
使用
安裝loader
tnpm install @ali/weex-style-loader --save-dev
配合weex-tookit腳手架,在webpack中新增loader
loaders: [
{
test: /.we(?[^?]+)?$/,
loaders: [`weex-loader`, `@ali/weex-style-loader`]
}
]
讓我們看看weex-style-loader
轉換後的程式碼是否符合大爺的需求
<style>
.mod-app-entry {
color: #999;
font-size: 24;
}
.weex-element-increment-1 {
...
}
.weex-element-increment-2 {
...
}
.weex-element-increment-3 {
text-align: center;
color: #f00;
font-size: 24;
}
</style>
<template>
<div class="mod-app-entry">
<a repeat="{{item in list}}" href="{{item.pluginUrl}}" class="weex-element-increment-1">
<image src="{{item.imgUrl}}" class="weex-element-increment-2"></image>
<text class="weex-element-increment-3">{{item.title}}</text>
</a>
</div>
</template>
展望
在此基礎上,類似vue
支援<style lang="less"></style>
,就可以使用less
、sass
前處理器了
敬請期待
相關文章
- 使用Spring Boot DevTools優化你的開發體驗Spring Bootdev優化
- 熟悉一個“高質量”軟體的開發過程
- Vue Vine:帶給你全新的 Vue 書寫體驗!Vue
- Taro 小程式開發大型實戰(一):熟悉的 React,熟悉的 HooksReactHook
- 《R2Beat:音速覺醒》封測初體驗:還是熟悉的味道,有你更精彩!
- iPhone XR開始預售!上手體驗,給你老款iPhone升級的5個理由iPhone
- 寫給即將入職的你-軟體工程之需求開發流程軟體工程
- 只要挺過初期的迷茫,《展翅翱翔》會給你難忘的體驗
- ES6版Promise實現,給你不一樣的體驗Promise
- 開箱即用,Knative 給您極致的容器 Serverless 體驗Server
- WebView你真的熟悉嗎?WebView
- Airtest-Selenium升級相容Selenium 4.0,給你全新體驗!AI
- Airtest-Selenium 升級相容 Selenium 4.0,給你全新體驗!AI
- Electron開發初體驗
- 從零開始帶你上手體驗Sermant自定義外掛開發
- 4.0體驗站|OceanBase 4.0 我回來給你點個贊
- 他在BAT等大廠研發10年,總結了12條開發經驗給你BAT
- 給你看看小白博主開發的打賞系統
- 小程式開發初體驗
- 小程式雲開發體驗
- 從事 Linux 開發一定要熟悉 GDBLinux
- 你真的熟悉 npm-scripts 嗎?NPM
- 給開發人員的幾點建議:如何理解你的DBATHBAT
- C#開發之基於NPOI的操作Excel開發體驗C#Excel
- 開發者體驗嗨皮書 ver 0.1 釋出:《開發者體驗:探索與重塑》
- 你可能不熟悉的JS總結JS
- 我的這套VuePress主題你熟悉吧Vue
- 《FANTASIAN》Fami 通評測:在熟悉的「阪口風格」下體驗新的冒險
- 我真的能做好自媒體嗎?這幾年我做自媒體的經驗,分享給你
- 還在用 Postman?Protobuf + Apifox + GitLab 給你 API 工程化極致體驗PostmanAPIGitlab
- 小程式雲開發初體驗
- typescript + react 專案開發體驗TypeScriptReact
- 小程式雲開發之初體驗
- 提升開發體驗,預覽 VirtualViewView
- Nocalhost:雲原生開發新體驗
- 給你一臺人形機器人,你最想開發出怎樣的應用?機器人
- 華熙集團“此時此刻”給你突破常規的時空視角體驗
- Xcode:在Mac上打造卓越的開發體驗XCodeMac
- 我的軟體開發中經驗教訓