項目源代碼,在碼雲上:https://gitee.com/dogstar/a-vue-mint-democss
# 安裝依賴 npm install # 本地開發調試 localhost:8080 npm run dev # 打包到生產環境 npm run build
餓了麼出品的Mint UI - 基於 Vue.js 的移動端組件庫(移動端專用)。
官網文檔:http://mint-ui.github.io/docs/#/zh-cn2html
最近很火的一套基於 Vue.js 的高質量UI 組件庫(PC端專用)。
官網文檔:https://www.iviewui.com/vue
這裏主要使用了:node
打開nodejs的官網:https://nodejs.org/en/,而後,選擇合適的版本下載。
例如這裏下載的是windows 64位版:https://nodejs.org/dist/latest/node-v11.2.0-x64.msiwebpack
而後,一路點擊,便可安裝完畢。git
成功安裝後,就有node和npm這兩個東西可使用了,查看下版本號:github
$ node -v v11.2.0 $ npm -v 6.4.1
Vue CLI 3的官網是:https://cli.vuejs.org/ ,其slogan爲:Standard Tooling for Vue.js Development 。web
安裝vue-cli很簡單,參考:Installation。vue-cli
$ npm install -g vue-cli
安裝後,查看版本號:npm
$ vue -V 3.1.3
在你想建立項目的目錄位置,運行:
$ vue init webpack demo ? Project name (demo)
就會捍到一連串的提示輸入,主要是項目名稱、做者名字、項目描述等。
填寫完畢後,就能夠嘗試運行一下demo了:
$ npm run dev
接着能夠看到熟悉的頁面。
如今,開始引入Mint-UI,Mint-UI官網爲:https://mint-ui.github.io/#!/zh-cn 。它的安裝也很簡單,在剛纔的新項目根目錄下,運行:
$ npm install --save mint-ui
而後,把./src/main.js裏面的內容,追加Mint-UI的相關代碼,即改成:
import Vue from 'vue' import App from './App.vue' import router from './router' import MintUI from 'mint-ui' // 加這一行 import 'mint-ui/lib/style.css' // 和加這一行 Vue.use(MintUI) // 還有加這一行 Vue.config.productionTip = false new Vue({ el: '#app', router, components: { App }, template: '<App/>' })
若在保持本地運行的話,追加上面代碼後會自動更新構建,一切正常!
WAIT Compiling...17:30:50 95% emitting DONE Compiled successfully in 153ms17:30:50 I Your application is running here: http://localhost:8080
那怎麼添加一個本身的新頁面呢?
先在./src/router/index.js文件中,把相關的配置改:
export default new Router({ routes: [ { path: '/', name: 'HelloWorld', component: HelloWorld }, { path: '/hi', name: 'Hi', component: () => import('@/view/hi/hi.vue') } ] })
這裏追加了/hi
的頁面路由配置,關於router,官方文檔是:https://router.vuejs.org/ 。
別忘了,與此同時,或者在這以前,建立對應的Vue頁面,例如這裏新建文件 ./src/view/hi/hi.vue
,並在裏面按照模板、到JS、到樣式的順序,放置你本身的代碼,例如:
<template> <div id="hi"> <mt-header title="標題過長會隱藏後面的內容啊哈哈哈哈"> <router-link to="/" slot="left"> <mt-button icon="back">返回</mt-button> </router-link> <mt-button icon="more" slot="right"></mt-button> </mt-header> </div> </template> <script> /* eslint-disable */ import { Header } from 'mint-ui' export default { name: 'Hi', components: { 'mt-header': Header }, data () { return { } } } </script> <style scoped> </style>
完成後,就能夠經過如下連接訪問到頁面了。
效果以下:
能夠看到,上面默認的首頁,以及新頁面,都會有一個很大的Vue的Logo圖片,以及會有頂部的距離。怎麼去掉呢?
很簡單,修改文件 ./src/App.vue
,內容改成:
<template> <div id="app"> <router-view/> </div> </template> <script> export default { name: 'App' } </script> <style> #app { font-family: 'Avenir', Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-align: center; color: #2c3e50; margin-top: 0px; } </style>
在默認狀況下,會進行嚴格的語法檢測,常常會出現相似如下這樣的信息(例如縮進很差):
http://eslint.org/docs/rules/no-mixed-spaces-and-tabs Mixed spaces and tabs src\view\hi\hi.vue:6:2 </router-link> ^
這時,若是想去掉,能夠修改 ./build/webpack.base.conf.js
文件,去掉裏面的useEslint規則,以下面註釋掉的這一行。
module: { rules: [ //...(config.dev.useEslint ? [createLintingRule()] : []), { test: /\.vue$/, loader: 'vue-loader', options: vueLoaderConfig },
而後從新本地運行便可。
在開發完成後,就能夠打包,準備發佈到生產環境進行正式訪問了。但會有一個小問題,若是生產環境的位置不是在網站根目錄的話,就會致使資源加載不到。這時,能夠修改 ./config/index.js
文件中的assetsPublicPath配置,改成相應的相對路徑。例如是dist,就改成:assetsPublicPath: '/dist/'
,以下:
build: { // Template for index.html index: path.resolve(__dirname, '../dist/index.html'), // Paths assetsRoot: path.resolve(__dirname, '../dist'), assetsSubDirectory: 'static', assetsPublicPath: '/dist/',
再次打包發佈後,就能找到相關的靜態文件了。