【发布时间】:2022-01-12 15:13:17
【问题描述】:
我有一个空白的 asp.net core 5 web 应用程序,我使用 npm 安装了 vue3 并搭建了默认设置之一。它在项目根目录和新的应用程序文件夹中为应用程序创建一个目录,我使用以下命令将 vue.config.js 文件构建路径设置为项目 wwwroot 文件夹:
const path = require("path");
module.exports = {
outputDir: path.resolve(__dirname, "../wwwroot"),
assetdir: "../wwwroot"
}
这有效,我的 npm run build 实际上保存到 wwwroot 文件夹,但是它删除了 Visual Studio 中当前的 wwwroot 文件夹并创建了一个新的 wwwroot 文件夹。问题是 wwwroot 旁边的地球在重新创建时消失了,它只是一个文件夹图标。不知道这有多重要,但奇怪的是发生了
我接下来进入 startup.cs 并添加
app.UseDefaultFiles(); // Enables default file mapping on the web root.
app.UseStaticFiles();
现在,当我运行这个项目时,它会加载一个空白页面,但是如果我转到 URL https://localhost:44391/wwwroot/ 它只会加载一个顶部有 Home 和 About 的菜单,如果我点击 home它使用正确的 vue home 模板将我带到 https://localhost:44391/。我确实有标准的路由器设置,但我没有更改任何设置,并且在 vue 安装期间历史模式设置为是,如果这很重要的话。我不确定为什么这不能正常工作。我需要在 program.cs 中添加 UseContentRoot() 吗?
【问题讨论】:
-
你用spa模板创建了一个asp.net核心项目看看。根据你的描述,不清楚你的startup.cs代码是什么。你最好显示步骤来重现和给出你想要的结果。一般来说,我们在
wwwroot之外有ClientApp 来放置构建文件,并在startup.cs 中添加spa 配置stackoverflow.com/a/55989907/10158551
标签: vue.js asp.net-core asp.net-core-mvc vuejs3