Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
492 views
in Technique[技术] by (71.8m points)

公司vue项目搭建的话,具体要做那些步骤?我只做了这些。

路由配置;接口配置;eslint;还有什么需要注意的或者要做的吗?
ui组件模块

import Vue from 'vue'
import {Button, message, TimePicker} from 'ant-design-vue';

[Button, message, TimePicker ].forEach(item => {
 Vue.use(item)
})

路由守卫,应该没写错吧。

//?router.beforeEach((to,?from,?next)?=>?{
//???//?store.state.userInfo.token?==?undefined
//???if?(store.state.userInfo.token?&&?store.state.userInfo.token?!=?"")?{
//?????if?(to.path?===?"/login")?{
//???????next({?path:?"/"?});
//?????}?else?{
//???????next();
//?????}
//???}?else?if?(to.path?===?"/register")?{
//?????next();
//???}?else?{
//?????if?(to.path?===?"/login")?{
//???????next();
//?????}?else?{
//???????next({?path:?"/login"?});
//?????}
//???}
//?});

axios,我这里axios配置还缺东西吗?

import axios from 'axios';
import router from '../router/index.js'
/*???根据环境变量区分接口默认地址???*/
switch (process.env.NODE_ENV)?{
 case "production": //?生产地址
 axios.defaults.baseURL = "";
 break;
 case "test": //?测试环境
 axios.defaults.baseURL = "";
 break;
 default: //?默认走本地开发环境
 axios.defaults.baseURL = "";
}
/*???设置超时时间和跨域是否允许携带凭证???*/
//?axios.defaults.timeout?=?10000;?//?十秒
axios.defaults.withCredentials = true;
/*???设置请求传递数据的格式??*/
axios.defaults.headers.post['Content-Type']?= 'application/json'; //?后台需要的请求头数据格式
axios.defaults.headers.put['Content-Type']?= 'application/x-www-form-urlencoded';
axios.defaults.transformRequest = function (data)?{
 return JSON.stringify(data)
}
/*???设置请求拦截器???*/
axios.interceptors.request.use(config => { 
 let token = localStorage.getItem('token');
 token &&?(config.headers.Authorization = token);
 return config;
}, error => {
 return Promise.reject(error);
});
/*???响应拦截器???*/
axios.interceptors.response.use(response => {
 return response.data;
}, error => {
 let { response }?= error;
 if (response)?{
 switch (response.status)?{
 case 401: 
 router.push('/login')
 break;
 case 403:
 break;
 case 404:
 break;
 }
 } else {
 if (!window.navigator.onLine)?{
 return;
 }
 return Promise.reject(error);
 }
});
export default axios;

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

vuex 按模块存放
项目布局 一般自适应布局,然后页面框架等等
文件结构 页面、组件、样式、veux、api等等
webpack 打包
如果有跨域什么的,还要代理等等


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...