我建议你使用
Vue CLI 3
具有
Microsoft.AspNetCore.SpaServices
。
遵循以下步骤:
-
dotnet add package Microsoft.AspNetCore.SpaServices
-
npm install -D aspnet-webpack
-
npm install -D webpack-hot-middleware
-
并添加Webpack中间件
if (env.IsDevelopment())
{
app.UseWebpackDevMiddleware(new WebpackDevMiddlewareOptions {
HotModuleReplacement = true,
HotModuleReplacementClientOptions = new Dictionary<string, string> {
{ "reload", "true" },
},
ConfigFile = "node_modules/@vue/cli-service/webpack.config.js",
});
}
目前,我不知道如何在不重新加载的情况下使HotModuleReplacement工作。
-
取决于您的
vue.config.js
您可以在
_Layout.cshtml
例如
<environment names="Development">
<script src="~/app.js" asp-append-version="true" type="text/javascript"></script>
</environment>
<environment names="Production">
<script src="~/bundle/js/chunk-vendors.js" asp-append-version="true" type="text/javascript"></script>
<script src="~/bundle/js/app.js" asp-append-version="true" type="text/javascript"></script>
</environment>
-
最后,您可以这样组织Vue文件以获得更好的智能感知。它与
Vetur
用于VSCode或VS2017的非官方扩展。
MyComponent。vue
<template>
...
</template>
<style lang="scss" scoped>
...
</style>
<script lang="ts" src="./MyComponent.ts">
</script>
MyComponent。ts
import { Component, Vue } from "vue-property-decorator";
@Component
export default class MyComponent extends Vue {
...
}