将vue js与asp.net core 2.1集成

时间:2018-06-21 09:40:19

标签: asp.net-core vue.js single-page-application

有人可以帮助解释我如何将vue.js与asp.net core 2.1一起使用。 理想情况下,我只是想在Visual Studio 2017和网站负载中按f5键。

我知道女士以前有水疗中心模板,但似乎已被放弃。 github上也有一个入门模板,但是使用的是.net core 2.0。

3 个答案:

答案 0 :(得分:2)

目前,我正在尝试将Vue.js与MVC Core 2.1一起用于多页应用程序,并找到了可行的解决方案。
我看到您提到了SPA,但我的答案将是针对多页面应用程序,但是某些想法可能适用。

我的方法

我已经在main.js中创建了一个wwwroot/resources/js/文件,并在该目录中创建了一个components子文件夹-在组件之一中还创建了一个layout文件夹。

main.js中,我创建一个Vue实例并将其附加到HTML中的#app根元素。在此js文件中,我还大胆地注册了大多数组件,除非只有特定组件才需要它们。我的main.js看起来像这样:

# wwwroot/resources/js/main.js

import Vue from 'vue';
import Axios from 'axios';
import BaseLayout from './components/layout/BaseLayout.vue';

window.axios = Axios;

Vue.component("base-layout", BaseLayout);
new Vue({
    el: "#App"
});

_layout.cshtml文件中,我具有以下内容(相关内容):

# Views/Shared/_Layout.cshtml
<div id="App">
    <base-layout>
        @RenderBody()
    </base-layout>
</div>

<script src="~/resources/js/bundle.js"></script>


如果您只对SPA感兴趣-我可能会做类似的事情:

# wwwroot/resources/js/main.js

import Vue from 'vue';
import App from './App.vue';
new Vue({
    el: "#app",
    render: (h) => h(App)
});

# wwwroot/resources/js/App.vue

<template>
    <div id="app">
         <-- Use other components here -->
    </div>
</template>

<script>
    export default {
        name: "app",
        data: function() {
            return {
                // What evs
            }
        }
    }
</script>

答案 1 :(得分:0)

VueJs(以及Angular和ReactJs)可在新项目的一个阶段获得,但后来由于维护人员有限而被删除。但是,您仍然可以通过命令行创建VueJs应用。运行dotnet new -l以查看可用的dotnet模板列表。

enter image description here

如果您在列表中没有看到vuejs,请安装模板

dotnet new --install Microsoft.AspNetCore.SpaTemplates::*

一旦创建了Web应用程序,并在VS中打开它,您应该可以通过按F5键像其他项目一样运行它。

在线上有一些不错的资源:

Asp.NETCore 2.1 Vue 2 Starter - by DevHelp.Online

Creating a VueJS (with TypeScript) SPA on ASP.Net Core 2.1

第二个链接提到vuejs模板仍然可以通过命令行使用。

我也发现本系列非常有帮助,从设置到部署的说明。

https://code-maze.com/net-core-series/

答案 2 :(得分:-1)

如果您要构建多页应用程序,则可以以该模板为例或起点。

https://github.com/danijelh/aspnetcore-vue-typescript-template

如果要构建SPA,请考虑从用户界面中拆分API,并将Vue CLI 3用于用户界面部分。