# 创建项目
vue init webpack vue-mall
选择vue-router,vue-router对应新建src/permission.js、src/router
npm install vuex@next --save
新建 src/store src/store/index.js src/store/getter.js ./modules
import Vue from 'vue'
import Vuex from 'vuex'
import user from './modules/user'
import getters from './getters'
Vue.use(Vuex)
const store = new Vuex.Store({
modules: {
user
},
getters
})
export default store
npm i svg-sprite-loader --save
配置webpack解析svg 新建文件夹 src/icons/svg src/icons/index.js 新建模版SvgIcon
{
test: /\.svg$/,
loader: 'svg-sprite-loader',
include: [resolve('src/icons')],
options: {
symbolId: 'icon-[name]'
}
},
{
test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
loader: 'url-loader',
exclude: resolve('src/icons'),
options: {
limit: 10000,
name: utils.assetsPath('img/[name].[hash:7].[ext]')
}
},
import Vue from "vue"
import SvgIcon from '@/components/SvgIcon'
Vue.component('svg-icon', SvgIcon);
const req = require.context('./svg', false, /\.svg$/)
const requireAll = requireContext => requireContext.keys().map(requireContext)
requireAll(req)
<template>
<svg :class="svgClass" aria-hidden="true">
<use :xlink:href="iconName"></use>
</svg>
</template>
npm i element-ui -S
main.js里加入
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
npm install --save js-cookie
编写cookies.getToken,方便路由跳转(permission.js)
npm install -S axios
编写request.js,做拦截器
npm install [email protected] --save-dev
npm install [email protected] --sava-dev
配置webpack解析scss