内网部署Ionic 4 Web项目咨询:上传范围、入口及运行方法
Ionic 4 内网Web项目部署实操解答
关于需要上传的目录范围
- 完全不需要上传src目录及其所有子文件夹:src是开发阶段的源码存放目录,里面是未编译的TS、HTML组件、样式源码,服务器端没有任何能力直接运行这类文件,传了只会占用空间没有实际作用
- 必须先完成本地生产打包:在本地开发终端执行
ionic build --prod命令,等待编译完成后,项目根目录会自动生成www静态资源文件夹,这个文件夹内的全部文件才是需要上传到服务器的内容 - 严禁上传的无效内容:node_modules依赖目录、各类项目配置文件(angular.json、tsconfig.json、package.json)、e2e测试目录,这类内容只有本地开发时有用,对生产部署没有任何价值
关于项目入口文件的认知
- 面向Web服务器的项目根入口文件确实是index.html:这是所有静态Web站点的通用规则,服务器只会默认把站点根目录下的index.html作为初始加载页面
- 你开发时写的home.page.html不是服务端入口:这个文件是Ionic(Angular内核)的路由组件页面,在本地打包时,它的代码会被编译、压缩、整合到www目录下的JS、CSS静态资源中,由前端路由系统在页面加载完成后自动渲染成首页内容,不需要服务器做任何特殊配置指向这个文件
- 如果你在路由配置里设置了默认跳转到home页面,这个规则已经在打包流程中写入静态资源,不需要额外在服务器端设置首页跳转
关于文件上传后的项目运行流程
- 把打包生成的www目录下的所有文件,拷贝到内网Web服务器(Nginx、IIS、Apache等常用内网服务)对应的站点根目录下
- 配置单页应用兼容规则:因为Ionic 4属于单页应用,所有路由逻辑由前端接管,需要在Web服务端配置请求重写规则,将所有非静态资源的请求重定向到根目录的index.html,避免用户刷新、直接输入路由地址时出现404错误
- 放通服务器防火墙的对应站点端口,确保内网其他机器可以正常访问
- 完成上述配置后,直接通过内网地址(如
http://内网服务器IP:站点端口)即可访问项目,整个过程不需要在服务器上安装Node.js、不需要执行任何npm类命令,因为部署的内容全是可直接被浏览器解析的静态文件
内容的提问来源于stack exchange,提问作者Guillermo Rodriguez
相关产品推荐
相关产品推荐

