十、VueJs 填坑日記之在專案中使用Amaze UI

生活常識發表於2017-11-29

獲取妹子UI(Amaze UI)
下載地址:http://amazeui.org/getting-started

點選上方綠色的按鈕,我們來下載最新版的妹子UI,下面有配套的文件和編輯器,我們只是把妹子UI整合到vuejs專案中,所以我們只需要妹子UI就可以了。

 

整理妹子UI檔案(Amaze UI)
將下載下來的AmazeUI-2.7.2.zip,我們解壓到一個目錄中,如下圖

將assets內的所有資料夾及檔案,複製到我們專案中的/static/amaze/目錄下,如圖


配置妹子UI(Amaze UI和vuejs的整合)
開啟/src/App.vue,找到以下程式碼:

1
2
3
<style lang="scss">
    @import "./style/style";
</style>

 

修改為:

1
2
3
4
5
<style lang="scss">
    @import "./style/style";
    @import "../static/amaze/css/amazeui.css";
    @import "../static/amaze/css/admin.css";
</style>

 

不難看出,我們除了之前引用自己寫的style.scss以外,又加了兩行引用Amaze UI的樣式檔案。至此,我們就完成了vuejs對amaze ui的整合。

 

使用妹子UI(在專案中使用Amaze UI)
現在我們對我們的App.vue進行一下調整,用簡單的程式碼來搭建一個小型的後臺管理系統。
調整/src/components/header.vue

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<template>
<header class="am-topbar am-topbar-inverse admin-header">
  <div class="am-topbar-brand">
    <strong>A7HR</strong> <small>後臺管理模板</small>
  </div>
 
  <button class="am-topbar-btn am-topbar-toggle am-btn am-btn-sm am-btn-success am-show-sm-only" data-am-collapse="{target: '#topbar-collapse'}"><span class="am-sr-only">導航切換</span> <span class="am-icon-bars"></span></button>
 
  <div class="am-collapse am-topbar-collapse" id="topbar-collapse">
 
    <ul class="am-nav am-nav-pills am-topbar-nav am-topbar-right admin-header-list">
      <li><a href="javascript:;"><span class="am-icon-envelope-o"></span> 收件箱 <span class="am-badge am-badge-warning">5</span></a></li>
      <li class="am-dropdown" data-am-dropdown>
        <a class="am-dropdown-toggle" data-am-dropdown-toggle href="javascript:;">
          <span class="am-icon-users"></span> 管理員 <span class="am-icon-caret-down"></span>
        </a>
        <ul class="am-dropdown-content">
          <li><a href="#"><span class="am-icon-user"></span> 資料</a></li>
          <li><a href="#"><span class="am-icon-cog"></span> 設定</a></li>
          <li><a href="#"><span class="am-icon-power-off"></span> 退出</a></li>
        </ul>
      </li>
      <li class="am-hide-sm-only"><a href="javascript:;" id="admin-fullscreen"><span class="am-icon-arrows-alt"></span> <span class="admin-fullText">開啟全屏</span></a></li>
    </ul>
  </div>
</header>
</template>
<script>
export default{
    name : "Header"
}
</script>

 

調整/src/components/footer.vue

1
2
3
4
5
6
7
8
9
10
<template>
<footer>
  <p class="am-padding-left">© 2014 王二麻子</p>
</footer>
</template>
<script>
export default{
    name : "Footer"
}
</script>

 

調整/src/App.vue

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<template>
  <div>
    <SystemHeader></SystemHeader>
    <div class="am-cf admin-main">
      <router-view></router-view>
    </div>
    <SystemFooter></SystemFooter>
  </div>
</template>
 
<script>
import SystemHeader from './components/header.vue'
import SystemFooter from './components/footer.vue'
export default {
    components: { SystemHeader, SystemFooter },
    name: 'app'
}
</script>
<style lang="scss">
@import "./style/style";
@import "../static/amaze/css/amazeui.css";
@import "../static/amaze/css/admin.css";
</style>

 

執行專案npm run dev

在執行專案的時候,可能會遇到編譯錯誤,如下圖:

 

出現這個原因說模組沒有正確載入,我們開啟/.postcssrc.js這個檔案,打到"postcss-import": {},並刪除。
最終該檔案如下:

1
2
3
4
5
6
7
8
// https://github.com/michael-ciniawsky/postcss-load-config
 
module.exports = {
  "plugins": {
    // to edit target browsers: use "browserslist" field in package.json
    "autoprefixer": {}
  }
}

重啟服務應該就正確了,如果你和我一樣,那應該是這樣的。如下:


整合工作到目前為止,明天我們來調整列表和內容頁面。有任何問題,大家可以在評論區評論留言。

相關文章