vue+mintui构建项目
ps: - 帮助vue初学者如何使用cli快速构建项目用于生产环境。 - 配置vue项目所用依赖包。 - 如有问题请发邮件到 zzy1031839775@163.com
传送门
VUE官方文档 MintUI官方文档 VUEX官方文档 axios官方文档
开始之前
1. 安装node
2. 安装npm
构建项目
$ npm install --global vue-cli
$ vue init webpack myapp(此处为项目名称)
$ cd mypp
$ npm install
$ npm install sass sass-loader node-sass --save-dev
$ npm install mint-ui axios -
S
$ npm run dev
$ npm run build
devserver配置
打开 myapp/config/
index.js
// see
http://vuejs-templates.github.io/webpack
for documentation.
var path =
require(
'path')
module.exports = {
build: {
env:
require(
'./prod.env'),
index: path.resolve(__dirname,
'../dist/index.html'),
assetsRoot: path.resolve(__dirname,
'../dist'),
assetsSubDirectory:
'static',
assetsPublicPath:
'/',
productionSourceMap:
false,
productionGzip:
false,
productionGzipExtensions: [
'js',
'css'],
bundleAnalyzerReport:
process.env.npm_config_report
},
dev: {
env:
require(
'./dev.env'),
port:
8080,
autoOpenBrowser:
true,
assetsSubDirectory:
'static',
assetsPublicPath:
'/',
proxyTable: {
"/mock":{
target:
"http://localhost:9000/",
changeOrigin:
true,
pathRewrite:{
"^/mock":
"/mock"
}
}
},
cssSourceMap:
false
}
}
axios配置
安装
npm i axios -S 安装本地依赖包
建立
myapp/src/scripts/utils/axios
.js
import axios from
'axios'
export
default {
get: (param)=>{
axios({
url: param.url,
method: param.method,
data:param.data
})
.then(
function (res) {
param.callback(res)
})
},
post:(param)=>{
axios({
url: param.url,
method: param.method,
headers:param.headers,
data:param.data
})
.then(
function (res) {
param.callback(res)
})
}
}
axios使用
import utilAxios from
'../../utils/axios'
utilAxios.get({
url:
'api/index/v1/m-banner',
method:
'GET',
callback:
function (res) {
console.log(res)
}
})
VUEX 安装与使用
--
.
import Vue from
'vue'
import Vuex from
'vuex'
Vue.use(Vuex)
let store=
new Vuex.Store({
state:{
user:
false
},
mutations:{
change:(state,user)=>{
state.user=user
}
}
})
export
default store
import store from
'../vuex/store.js'
store.commit(
'change',
true)
let user=store.state.user
MintUI使用(坑比较多后面持续更新)
import MintUI from
'mint-ui'
import 'mint-ui/lib/style.css'
<template lang="html">
<div>
<mt-header title="Title"></mt-header>
</div>
</template>
<script>
import Vue from 'vue'
import { Header } from 'mint-ui';
Vue.component(Header.name, Header);
export default {
}
</script>
vue-router
myapp/src/script/rputer/
index.js
import Vue from
'vue'
import Router from
'vue-router'
import Index from
'../components/Index'
import About from
'../components/about.vue'
import Home from
'../components/home.vue'
import Dome from
'../components/dome/lod.vue'
Vue.use(Router)
export
default new Router({
routes: [
{
path:
'/',
name:
'index',
component:Index,
redirect:
'/home',
children:[
{
path:
"/home",
name:
"home",
component:Home
},
{
path:
"/about/:id",
name:
"about",
component:About
}
]
},{
path:
"/list",
name:
"list",
component:Dome
}
]
})
<router
-link to="/about/123" tag="div">我的
</router
-link>
console.log(
this.$route.
params.id)
Myapp