nginx的配置
微应用部署遇到的问题
问题1:
开发环境设置跨域问题可以访问,部署到服务器无法跨域,
分析原因:
打包的时候不会把开发环境设置的内容打包进来
解决办法:再nginx.conf文件中,给子应用设置允许跨域,loaction中加入
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
add_header Access-Control-Allow-Headers '*';
问题二:
application ‘two’ died in status SKIP_BECAUSE_BROKEN: [qiankun] Target container with #vuetwo not existed after two mounted!
at assertElementExist
分析原因:
传入props的时候没有使用子应用自身的#app,子应用的组件直接挂在到了主应用的#app上面,导致主应用页面被重写
解决办法:
再mount函数中调用render传入props,然后使用props.container中的#app,也就是子应用的#app。
问题三:
本地跑起来未报错,打包在服务器上报错,application ‘three’ died in status LOADING_SOURCE_CODE: [qiankun] You need to export lifecycle functions in three entry
at un (loader.js:220)
分析原因:
在vue-cli2中将生产环境的配置和开发环境的分开了,当时配置只是设置了开发环境微应用的打包和输出方式,在生产环境中未设置,打包是生产环境,所以报错