我一直在尝试将项目升级到最新版本的Vue和其他项目时遇到问题。我使用dotnet new vue
创建了项目。这创建了一个可以工作但使用旧版本软件包的项目。
我正在尝试将我的所有软件包更新到最新版本,但是当我运行项目时,我似乎遇到了这个错误:
[Vue warn]: Failed to mount component: template or render function not defined.
我能够使用标准的Asp.Net Vue项目和这个package.json文件重现这一点(没有其他修改)......
{
"name": "vuetest",
"private": true,
"version": "0.0.0",
"devDependencies": {
"@types/webpack-env": "^1.13.0",
"aspnet-webpack": "^2.0.1",
"awesome-typescript-loader": "^3.4.0",
"bootstrap": "^3.3.7",
"css-loader": "^0.28.7",
"event-source-polyfill": "^0.0.12",
"extract-text-webpack-plugin": "^3.0.2",
"file-loader": "^1.1.5",
"isomorphic-fetch": "^2.2.1",
"jquery": "^3.1.1",
"style-loader": "^0.19.0",
"typescript": "^2.6.1",
"url-loader": "^0.6.2",
"vue": "^2.5.8",
"vue-loader": "^13.5.0",
"vue-property-decorator": "^6.0.0",
"vue-router": "^3.0.1",
"vue-template-compiler": "^2.5.8",
"webpack": "^3.8.1",
"webpack-hot-middleware": "^2.20.0"
}
}
我尝试了很多不同的东西,但项目中的几乎所有技术对我来说都是新的(Vue,webpack,TypeScript,NPM,ASP.Net Core),所以我不知道哪一层被破坏了。我已经看到其他页面谈论这个错误,但解决方案似乎不适用于这个特定的堆栈或只是没有工作。
答案 0 :(得分:1)
我最终为我的API和SPA分别开展了项目。我使用Quasar CLI创建SPA项目,但我确信我也可以使用Vue CLI完成。
文件夹结构具有API和SPA作为兄弟姐妹。在API中,我确保所有路线都以" \ api"开头。我已经为静态文件添加了中间件,这些文件指向SPA的编译输出(这是一个配置设置,所以我可以根据需要部署这两个)。出于开发目的,我使用Quasar CLI用于此功能的热重新加载功能,并设置服务器代理" \ api"调用我在IIS Express中运行的API项目。我使用" Start Without Debugging"命令,这允许我对API进行更改并重新编译,并继续工作。
这似乎对我来说非常有效,并允许我立即进行更改并查看这些更改,而无需执行大量构建和部署步骤。