有人可以帮助解释我如何将vue.js与asp.net core 2.1一起使用。 理想情况下,我只是想在Visual Studio 2017和网站负载中按f5键。
我知道女士以前有水疗中心模板,但似乎已被放弃。 github上也有一个入门模板,但是使用的是.net core 2.0。
答案 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>
# 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模板列表。
如果您在列表中没有看到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模板仍然可以通过命令行使用。
我也发现本系列非常有帮助,从设置到部署的说明。
答案 2 :(得分:-1)
如果您要构建多页应用程序,则可以以该模板为例或起点。
https://github.com/danijelh/aspnetcore-vue-typescript-template
如果要构建SPA,请考虑从用户界面中拆分API,并将Vue CLI 3用于用户界面部分。