TypeError: Received an unexpected value [object Undefined]
jshuhao opened this issue · 21 comments
vue cli 4.3.1创建的项目,vue add vue-next后报错, TypeError: Received an unexpected value [object Undefined]
什么样的项目?能提供复现吗?
@sodatea
node: 12.16.1
vue/cli: 4.3.1
这种情况下用cli新建一个vue项目,再vue add vue-next,就会遇到这个问题

就是正常用vue cli创建的项目,我随手创建的,准备想在cli里面试下vue3的功能,选了一些常用的配置,然后vue add vue-next后报错,项目也跑不起来。
我猜是转换 router 代码时报的错?
那样的话可能跟这个 bug 有关 benjamn/ast-types#365 (comment)
因为 ast-types 已经是嵌套很深的依赖了,恐怕需要你们删除 @vue/cli、彻底清掉全局的 npm/yarn 缓存(npm cache clean -f 或者 yarn cache clean)再重装 @vue/cli 才能让这个修复生效。
我之前测的时候碰到过,后来强制指定 babylon 解析了理论上应该没问题了的……
现在我缓存也清掉了暂时没办法复现这个问题了。
照着你的操作做了,还是这个问题。。。。
暂时无法复现问题。
问题实在无法解决的话,可以先把 router/index.js 里的 component: () => import(/* webpackChunkName: "about" */ "../views/About.vue") 这一行注释掉再运行 vue add vue-next 试试
去掉router,vuex运行成功
@wangjieCode 运行成功后您那边能使用vue新特性setup函数吗? 我这边试了好像不行。
@wangjieCode 运行成功后您那边能使用vue新特性setup函数吗? 我这边试了好像不行。
可以的
@wangjieCode 运行成功后您那边能使用vue新特性setup函数吗? 我这边试了好像不行。
@wangjieCode @JZLeung 感谢,刚才用错方法了。
😂找到原因了,Windows 下的路径原因。这得在 @vue/cli 里修
思考了下,还是在插件里直接做兼容了
我现在任然碰到这个问题,有人能看看吗?
vue-cli-plugin-vue-next已经到0.1.2了

完整的 package.json
{
"name": "deepbio.web.researcherdb",
"version": "0.1.0",
"private": true,
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"test:unit": "vue-cli-service test:unit",
"lint": "vue-cli-service lint"
},
"dependencies": {
"core-js": "^3.6.4",
"vue": "^2.6.11",
"vue-class-component": "^7.2.3",
"vue-property-decorator": "^8.4.1",
"vue-router": "^3.1.6"
},
"devDependencies": {
"@types/jest": "^24.0.19",
"@typescript-eslint/eslint-plugin": "^2.26.0",
"@typescript-eslint/parser": "^2.26.0",
"@vue/cli-plugin-babel": "~4.3.0",
"@vue/cli-plugin-eslint": "~4.3.0",
"@vue/cli-plugin-router": "~4.3.0",
"@vue/cli-plugin-typescript": "~4.3.0",
"@vue/cli-plugin-unit-jest": "~4.3.0",
"@vue/cli-service": "~4.3.0",
"@vue/eslint-config-standard": "^5.1.2",
"@vue/eslint-config-typescript": "^5.0.2",
"@vue/test-utils": "1.0.0-beta.31",
"eslint": "^6.7.2",
"eslint-plugin-import": "^2.20.2",
"eslint-plugin-node": "^11.1.0",
"eslint-plugin-promise": "^4.2.1",
"eslint-plugin-standard": "^4.0.0",
"eslint-plugin-vue": "^6.2.2",
"less": "^3.0.4",
"less-loader": "^5.0.0",
"typescript": "~3.8.3",
"vue-template-compiler": "^2.6.11"
}
}TS 项目?暂时还不支持,如果有错是正常的
"暂时还不支持" 指的是 generator 部分不支持。
装完后打包构建之类的没问题,但是你要手动改代码适配新版。
- vue-class-component 要升到 v8
- vue-property-decorator 暂时没发布支持 Vue 3 的新版本
- 或者改用
defineComponent写组件 - 类型 shim 文件可能需要改,我还没确认过
"暂时还不支持" 指的是 generator 部分不支持。
装完后打包构建之类的没问题,但是你要手动改代码适配新版。
- vue-class-component 要升到 v8
- vue-property-decorator 暂时没发布支持 Vue 3 的新版本
- 或者改用
defineComponent写组件- 类型 shim 文件可能需要改,我还没确认过
it's my fault, i forget to CD project directory(i should cd to project directory after VUE CREATE), and very appreciate your quick reply, hope typescript will be supported deeply!








