vue项目工程化

baseUrl.js

// 正式
const prodURL = 'https://datam2.youlishu.com/dqmuck';
// 测试
// const devURL = 'http://47.96.237.231:8085';
// const devURL = 'https://datam2.youlishu.com/dqmuck';
// const devURL = 'http://r740.youlishu.com:8881';

// const devURL = 'http://172.16.21.76:8085'
// const devURL = 'https://datam2.youlishu.com/backend/cs_muck'
const devURL = 'http://101.68.86.229:8881'

const baseURL = process.env.NODE_ENV === 'development' ? devURL : prodURL

export default baseURL

request.js

import axios from 'axios';
import store from "../store/index"
import baseURL from '@/src/api/baseUrl'
const service = axios.create({
    
    
  //正式
  baseURL,
  timeout: 5000 * 10
});
service.interceptors.request.use(
  config => {
    
    
    config.headers.Authorization = store.state.token  //请求头加上token
    return config;
  },
  error => {
    
    
    return Promise.reject(error);
  }
);
service.interceptors.response.use(
  response => {
    
    
    if (response.status === 200) {
    
    
      return response.data;
    } else {
    
    
      return Promise.reject();
    }
  },
  error => {
    
    
    return Promise.reject(error.response);
  }
);
export default service;

package-lock.json

{
    
    
  "name": "vant-demo-vue2",
  "version": "1.0.0",
  "description": "Collection of vant demos.",
  "author": "neverland <[email protected]>",
  "license": "MIT",
  "scripts": {
    
    
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "lint": "vue-cli-service lint"
  },
  "dependencies": {
    
    
    "@vant/area-data": "^1.1.1",
    "core-js": "^3.4.3",
    "vant": "^2.2.0",
    "vue": "^2.6.10",
    "vue-router": "^3.0.5"
  },
  "devDependencies": {
    
    
    "@vue/cli-plugin-babel": "^4.1.1",
    "@vue/cli-plugin-eslint": "^4.1.1",
    "@vue/cli-service": "^4.1.1",
    "babel-eslint": "^10.0.3",
    "babel-plugin-import": "^1.12.0",
    "eslint": "^4.19.1",
    "eslint-plugin-vue": "^6.0.1",
    "less": "^3.8.1",
    "less-loader": "^5.0.0",
    "vue-template-compiler": "^2.6.10"
  },
  "postcss": {
    
    
    "plugins": {
    
    
      "autoprefixer": {
    
    }
    }
  },
  "browserslist": [
    "Android >= 4.0",
    "iOS >= 8"
  ]
}

vue.config.js

const autoprefixer = require('autoprefixer');
const pxtorem = require('postcss-pxtorem');
const path = require('path');
function resolve(dir) {
    
    
  return path.join(__dirname, dir)
}
module.exports = {
    
    
  outputDir: 'build',
  publicPath: process.env.NODE_ENV === "production" ? "./" : "/",
  chainWebpack: config => {
    
    
    config.resolve.alias
      .set('@', resolve('vue2'))
  },
  css: {
    
    
    loaderOptions: {
    
    
      postcss: {
    
    
        plugins: [
          autoprefixer(),
          pxtorem({
    
    
            rootValue: 37.5,
            propList: ['*']
          })
        ]
      }
    }
  },
  lintOnSave: false,
  devServer: {
    
    
    port: 8080, // 端口号
  }
};

猜你喜欢

转载自blog.csdn.net/weixin_43131046/article/details/120309019