简介
使用公司框架开发时,在HMR开发模式,前端如果使用自已封装的HttpClient,无法调用@delon/mock。
如果省略mock,直接与后端API一起联调,则需要将页面打进后端war包中,在Tomcat中测试。由于无法使用HMR,每次页面改动都要刷新页面,浪费一些时间。
通过配置HMR代理,可以将后端Tomcat 9090端口下的服务,代理到HMR 4200端口下,提升前端开发效率。
service模块配置
临时将/api/*
添加到CAS例外
1 2 3 4 5 6 7
| <context-param> <param-name>ignorePattern</param-name> <param-value> /api/*|.*.js|/assets/.*|.*.menu.*|/publicConfig/.*|.*./user/.*|.*.assets/i18n/[a-z]{2}\.json </param-value> </context-param>
|
临时将/api/*
添加到JWT例外
1 2 3 4 5 6 7 8 9 10 11 12 13
| <filter> <filter-name>JWT ValidationWithoutCas Filter</filter-name> <filter-class> com.yourcompany.common.authentication.filter.JwtValidationFilter </filter-class> <init-param> <param-name>ignorePattern</param-name> <param-value> .*/cale/api/.*,.*.assets.*,.*.publicConfig.*,.*.css,.*.js,.*.html,.*.htm,.*.json,.*.svg,.*.cale/;jsessionid=.*,.*.cale/,.*.png,.*.login/user.*,.*.login/logout.* </param-value> </init-param> </filter>
|
注意仅在本地修改,不要提交到git上
web模块配置
新建proxy.conf.json
1 2 3 4 5 6 7
| { "/api": { "target": "http://10.30.22.xx:9090/cale", "secure": false, "logLevel": "debug" } }
|
注意target中的ip地址不要填写localhsot或127.0.0.1,否则可能无法正确转发
映射关系为: http://localhost:4200/api/attachment -> http://10.30.22.242:9090/cale/api/attachment
修改package.json
1 2 3
| "scripts": { "hmr": "ng serve -c=hmr --proxy-config=proxy.conf.json" },
|
启动前端