使用Microsoft WebApi 2和SPA Vue2进行热重新加载

时间:2017-10-11 13:08:23

标签: c# asp.net-web-api vuejs2 webpack-2 vue-cli

前端:VueJs2(vue-cli webpack)为SPA

后端:Microsoft WebApi 2

我无法在项目上设置热重新加载,因为Hot Reload在已定义的端口上启动节点服务器,而我的WebApi位于不同的端口=>跨域错误。 (和 我无法在IIS中禁用跨域

我知道使用Asp.Net Core,可以使用NodeServices包(Nuget和npm)来启用热重新加载。

WebApi 2是否有类似的解决方法?

1 个答案:

答案 0 :(得分:0)

您可以通过在webpack配置中添加代理来使其工作。 (vue-cli webpack config)

<强>配置/ index.js

dev: {
env: require('./dev.env'),
port: 52286,
autoOpenBrowser: true,
assetsSubDirectory: 'static',
assetsPublicPath: '/',
proxyTable: {
  '/someExamples': {
    target: 'http://localhost',
    changeOrigin: true,
  },
...
},

<强>建的/ dev-server.js

var uri = 'http://localhost:' + port + '<path to home>'

var _resolve
var readyPromise = new Promise(resolve => {
  _resolve = resolve
})

console.log('> Starting dev server...')
devMiddleware.waitUntilValid(() => {
  console.log('> Listening at ' + uri + '\n')
  // when env is testing, don't need open it
  if (autoOpenBrowser && process.env.NODE_ENV !== 'testing') {
    opn(uri)
  }
  _resolve()
})

http://localhost:52286/someExamples的任何请求都将被重定向到http://localhost/someExamples,这可能是本地网站。