发布时间: 2022-02-02 00:26:00
refer to :
原则:
1. 能不动就别动
2. 一定要动的话,改动比较大。
3. 看:npm run dev 看能否能跑起来, 看报的是什么错
如果是大项目的话,建议慎重操作 如果是小项目的话,pacakge.json需要重新安排。否则会包莫名其妙的错误。基本都是由于第三方包版本不兼容造成的。
vue-router需要做改动
import Vue from 'vue' import Router from 'vue-router'
改成:
import { createRouter, createWebHistory } from 'vue-router' routes = [] // 这里是路由 const router = createRouter({ history: createWebHistory(process.env.BASE_URL), routes }) export default router
import VueResource from 'vue-resource'
new Vue({ el: '#app', router, template: '<App/>', components: { App } })
改成形如这样的形式:
import { createApp } from 'vue' import App from './App.vue' import router from './router' import store from './vuex/store' createApp(App).use(store).use(router).mount('#app')
例如,Vue2.x
import vueConfig from './vue-config' const configs = { api: 'http://shopweb.sweetysoft.com/interface/' } Vue.use(vueConfig, configs)
Vue3.x
.... const app = createApp({}) app.config.globalProperties.api = 'http://shopweb.sweetysoft.com/interface/'
import Vue from 'vue' import Vuex from 'vuex' export default new Vuex.Store({ ... })
vue3:
import { createStore } from 'vuex' import { INCREASE } from '@/vuex/mutation_types' export default createStore({
使用的页面,都要有 store: useStore(), 的声明
vue2.x
this.$http.get
vue3:
const axios = require('axios'); axios.get('/api/interface/blogs/all').then((response) => { response.data ...
vue2中可以重名,vue3中不可以重名,否则报错:
[Vue Router warn]: No match found for location with path "/"解决办法: 不要让name 重名
const routes = [ { path: '/', name: 'Root', // 这里不可以重名 component: Index },Back