vue3工程引用vue2模块文件,如果代码没改的话,编译运行时可能会报错:
SyntaxError: The requested module '/@fs/D:/HBuilderX.3.8.7.20230703/HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-h5-vue/dist/vue.runtime.esm.js' does not provide an export named 'default'
因此,要对引用过来的vue2模块文件做一些改动,才能兼容。
vue2的写法:
- import Vue from 'vue'
- import Vuex from 'vuex'
-
- Vue.use(Vuex)
-
- export default new Vuex.Store({
- state: {
- // ...
- },
-
- mutations: {
- // ...
- },
- actions: {
- // ...
- }.
- getters: {
- // ...
- }
- })
vue3改动后的写法:
- // import Vue from 'vue' 不需要导入Vue了
- // import Vuex from 'vuex' 导入vuex改成下面这样
- import { createStore } from 'vuex'
- // Vue.use(Vuex) 这句也不需要了
-
- // 使用 createStore 创建 Vuex store
- // export default new Vuex.Store({
- export default createStore({
- // ...
- })