vue-搭建框架

81 阅读1分钟

本文讲述如何搭建vue2项目

开始

node -v
  v16.17.1

vue -V
  @vue/cli 4.5.15

创建项目
vue create vue-wap

进入文件夹、启动、打包
cd vue-wap
npm run serve
npm run build

axios

npm install axios
npm install qs

跨域配置 proxy

vant

npm install vant@2.5.2
npm install amfe-flexible@2.2.1
npm install postcss-pxtorem@5.1.1

// vue.config.js 像素适配 宽度px转换成rem; vant-375
css: {
  loaderOptions: {
    postcss: {
      plugins: [
        require('postcss-pxtorem')({
            rootValue: 37.5,
            propList: ['*']
        })
      ]
    }
  }
},

其他依赖

npm install less@3.13.1 less-loader@5.0.0
npm install vue-router@3.5.3
npm install vuex@3.6.2
npm install vue-lazyload@1.2.3
npm install vue-video-player@5.0.2
npm install swiper@7.4.1
npm install echarts@4.9.0

main.js

import Vue from 'vue'
import App from './App.vue'
import 'amfe-flexible'; // px适配
import Vant from 'vant';
import 'vant/lib/index.css';
import echarts from 'echarts'
Vue.prototype.$echarts = echarts
import VideoPlayer from 'vue-video-player';
import 'vue-video-player/src/custom-theme.css';
import 'video.js/dist/video-js.css';
Vue.config.productionTip = false

Vue.use(Vant);
Vue.use(VideoPlayer);

new Vue({
  render: h => h(App),
}).$mount('#app')

package.json

{
  "name": "vue-wap",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "start": "npm run serve",
    "serve": "vue-cli-service --open serve",
    "build": "vue-cli-service build",
    "lint": "vue-cli-service lint"
  },
  "dependencies": {
    "amfe-flexible": "^2.2.1",
    "axios": "^1.3.4",
    "core-js": "^3.6.5",
    "echarts": "^4.9.0",
    "less": "^4.1.3",
    "less-loader": "5",
    "postcss-pxtorem": "5.1.1",
    "qs": "^6.11.1",
    "swiper": "7",
    "vant": "^2.5.2",
    "vue": "^2.6.11",
    "vue-lazyload": "^3.0.0-rc.2",
    "vue-router": "3",
    "vue-video-player": "5",
    "vuex": "3.6.2"
  },
  "devDependencies": {
    "@vue/cli-plugin-babel": "~4.5.15",
    "@vue/cli-plugin-eslint": "~4.5.15",
    "@vue/cli-service": "~4.5.15",
    "babel-eslint": "^10.1.0",
    "eslint": "^6.7.2",
    "eslint-plugin-vue": "^6.2.2",
    "vue-template-compiler": "^2.6.11"
  },
  "eslintConfig": {
    "root": true,
    "env": {
      "node": true
    },
    "extends": [
      "plugin:vue/essential",
      "eslint:recommended"
    ],
    "parserOptions": {
      "parser": "babel-eslint"
    },
    "rules": {}
  }
}

vue.config.js

module.exports = {
  // 公共文件目录
  publicPath: './',
  // 关闭eslint
  lintOnSave: false,
  // 跨域配置
  devServer: {
    proxy: {
      "/api": {
          target: "http://localhost:3000",
          pathRewrite: {
            '^/api': ''
          }
      },
    },
  },
  // 像素适配 宽度px转换成rem; vant-375
  css: {
    loaderOptions: {
      postcss: {
        plugins: [
          require('postcss-pxtorem')({
              rootValue: 37.5,
              propList: ['*']
          })
        ]
      }
    },
  },
}