【问题标题】:how to integrate ASP.NET Core 2.1 with Vue CLI 3?如何将 ASP.NET Core 2.1 与 Vue CLI 3 集成?
【发布时间】:2018-09-25 12:08:55
【问题描述】:

我一直在尝试使用带有 ASP.Net Core web 的新 Vue CLI 3 创建一个新项目。我可以使用 dotnet new 创建一个不错的新空白 Web 项目,也可以使用 vue create 创建一个新的 Vue.js Hello World 模板,但我一辈子都无法让它们一起工作。

【问题讨论】:

    标签: vue.js asp.net-core-2.1 vue-cli-3


    【解决方案1】:

    应该很简单

    • 创建一个新的 dotnet 项目
    • 在 dotnet 解决方案中创建一个文件夹。例如,VueApp、ClientApp 之类的。
    • 使用 Vue cli 在该文件夹中搭建一个新的 Vue 项目。
    • 将输出目录更改为指向“../../wwwroot/dist”之类的内容
    • 构建您的应用程序。请注意,如果您是为开发或生产构建,输出结构会有所不同。
    • 在您的_Layout.cshtmlIndex.cshtml 中,无论您想组织它,引用那些输出的文件。
    • <div id="app"></div> 添加到您的.cshtml
    • 大功告成,尽情享受吧。

    【讨论】:

    • 嗨.. Change the output directory to point to something like "../../wwwroot/dist" 我需要更改的地方。哪个文件? Vue.config.js ?
    • 这取决于您如何构建文件。是的 vue.config.js 如果你是通过控制台构建的。如果您使用的是 Vue Ui,那么在构建操作中有一个设置按钮,将文件夹选项更改为指向 wwwroot。
    • 嗨,这个解决方案可以用 nuxt 吗?或者我该如何设置?
    • 嗨,应该没有什么不同。如果使用 Nuxt,请重复所有步骤,并将构建的文件放入 wwwroot 文件夹。可能还有配置文件。这可能会奏效:stackoverflow.com/a/54418282/5265610
    【解决方案2】:

    我在Medium 写了一个详细的教程。

    您可以使用 Microsoft Microsoft.AspNetCore.SpaServices NuGet 包指定 SpaStaticFiles 文件夹,而不是将构建时的客户端应用程序复制到 wwwroot 并忽略 *.cshtml 文件并直接使用 vue index.html 文件。

    您还可以安装VueCliMiddleware NuGet,以便在您的 .NET 应用启动时使用 Vue CLI 3.0 使用客户端应用运行 npm 进程。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-02
      • 2019-07-24
      • 2018-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-25
      • 1970-01-01
      相关资源
      最近更新 更多