vue打包之后,放到服务器上访问不到static文件夹下面的html文件,该如何解决

​以前都是和团队合伙开发前端,从不接触设置打包配置项。现在公司前端一个人,要自己学会配置。最近写公司官网,vue文件打包之后,在项目里面通过 window.open()访问放在static下的html文件,放在公司服务器访问不到static下面的文件,问题出现在打包配置项上。

vue组件里面使用:window.open("/static/pro/protocol_privacy.html"); // 错误的写法

因为我打包配置不是在根目录下(/),而是放在/home/(这个与项目放在服务器上的目录相同,必不可少)目录下,所以访问静态页面时缺少东西

注意:打包assetsPublicPath配置项一定要和存放服务器上的路径一样

解决办法:window.open("/home/static/pro/protocol_privacy.html"); // 正确的写法

以上是打包出现的问题,以及解决办法

然后你会发现另一个问题,虽然把访问静态文件路径变了,线上可以访问,但是本地访问不了,问题也是出现在配置项上

解决办法:既可以在线上访问,又可以本地访问,需要判断开发环境

 const v = process.env.NODE_ENV == "development" ? '' : '/html' 

 window.open(v + "/static/pro/protocol_privacy.html");

如果您觉得我能帮到您,希望您可以给我一个免费的点赞支持一下,谢谢

猜你喜欢

转载自blog.csdn.net/weixin_39418338/article/details/118361210