美文网首页vue
05 使用 vue cli build 后,部署 iis 代理

05 使用 vue cli build 后,部署 iis 代理

作者: 过桥 | 来源:发表于2019-07-15 12:10 被阅读0次

    开发相关

    代理服务使用

    vue.config.js

      devServer: {
        // /*       port: 端口号, */
        proxy: {
          '/Development': {
            target: 'http://xxx.xx.xx.xx/WebApi/api/',
            ws: true,  // proxy websockets 
            changeOrigin: true,  // needed for virtual hosted sites
            pathRewrite: {
              '^/Development': ''  // rewrite path
            }
          },
        }
      }
    

    webapi.js

    // 创建 axios 实例
    const service = axios.create({
      baseURL: '/Development/', // api base_url
      timeout: 6000, // 请求超时时间
    })
    
    //登录
    export function login (parameter) {
      return service({
        method: 'post',
        url: '/Power',
        data: {
          username: parameter.User_Account,
          password: parameter.User_Pwd,
          operate_Type: 'Login',
        }
      })
    }
    

    部署相关

    打包

    vue-cli-service build

    打包后文件目录

    默认端口直接部署 404

    iis下,默认端口直接添加应用程序指向打包路径

    部署目录
    资源无法找到

    新建网站,刷新后,404

    iis下,新建网站指向打包路径,初始加载正常,F5刷新后,404

    初始加载
    刷新404

    参考添加 Vue Router,添加 web.config

    image.png
    Vue Router后端配置例子
    添加后,初次加载、刷新路径资源均正常加载,请求服务 405
    405

    修改 IIS URL重写,实现代理

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
      <system.webServer>
        <rewrite>
          <rules>
            <rule name="WebApi" stopProcessing="true"> 
              <match url="^/?Development/(.*)$" />
              <conditions logicalGrouping="MatchAll" trackAllCaptures="false"> 
                <add input="{PATH_INFO}" pattern="^/?Development/" />
              </conditions> 
              <action type="Rewrite" url="http://xxx.xx.xx.xx/WebApi/api/{R:1}" appendQueryString="true" redirectType="Temporary" /> 
            </rule> 
    
            <rule name="Handle History Mode and custom 404/500" stopProcessing="true">
              <match url="(.*)" />
              <conditions logicalGrouping="MatchAll">
                <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
              </conditions>
              <action type="Rewrite" url="/" />
            </rule>
          </rules>
        </rewrite>
      </system.webServer>
    </configuration>
    

    URL Rewrite下载

    相关文章

      网友评论

        本文标题:05 使用 vue cli build 后,部署 iis 代理

        本文链接:https://www.haomeiwen.com/subject/oaagkctx.html