热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

利用httpserver测试vuecli打包后的项目

目前在练习Vue,利用vue-cli脚手架开发了个vue2.0仿唯妮海购项目,在生产环境中一切良好,项目暂时告一段落,根据官

目前在练习Vue,利用vue-cli脚手架开发了个vue2.0仿唯妮海购项目,在生产环境中一切良好,项目暂时告一段落,根据官方的npm run build打包后发现,在自己没有线上服务器的情况下,测试成为一大难题(实践发现,后面还有很多坑等着去填~~)。

项目展示

安利一个项目中遇到的大难题另辟蹊径:vue单页面,多路由,前进刷新,后退不刷新

首页分类页详情页

打包测试(搭建服务器)

打包后的代码必须放在服务器下才能运行哦!直接双击index.html是不行的。
下面介绍两种搭建服务器的方式

  • 本地搭建Apache服务器

     
    开发项目,一般都会在本地搭建一个Apache服务器,各种Ahache服务器软件琳琅满目,自己挑选一个适合自己的即可,本人目前在使用xampp。搭建Apache服务器比较繁琐,各种配置比较复杂,这里不再赘述,有不懂得,请善用google or baidu。

  • 利用node.js的 http-server搭建一个http服务器

    http-server是一个基于node.js的简单的,零配置的命令行http服务器

    安装

    既然是基于node的,首先必须安装node.js,这个略过不谈。
    全局安装 http-server,这样就可以在任意一个本地项目中使用了。
    npm install http-server -g

    使用

    http-server [path] [options]
      
    如果指定path,即为指定的路径,如果不指定,即为当前所在文件路径。options下面再介绍。
    强烈建议直接在vue-cli打包后的dist文件夹下打开命令行,如图所示,这样就不用再指定文件路径了
    图片描述
     
    options选项说明

     

    • http-server默认启用8080端口,但是这个端口容易和电脑中的某些任务冲突,强烈建议 利用-p 端口号指定一个新的端口。如果你想同时开启两个项目,则两个项目必须指定不同的端口号,否则有一个项目是打不开的。
       
    • 每次都手动打开浏览器?太麻烦了,添加配置项-o,当服务器启动后,将自动打开浏览器。
       
    • what ? 你的项目的请求接口是跨域的?不能直接访问? 当然,我这个项目也是跨域获取的唯妮海购的接口,如何解决跨域这个问题呢?添加-P 域名地址即可.这个P是大写的,上面端口那个p是小写的。注意区分哦!
       
    • 综上,我的启动服务器的命令即http-server -p 8890 -o -P http://www.weinihaigou.com
       
      图片描述
      按照正常情况来说,这时会自动打开浏览器,渲染出你的项目,可是,我在打包测试时,还发现了一些其他问题

启动服务后可能会遇到的问题

  • 跨域问题

     
    如果你的接口在本地服务器,那就没有跨域问题。如果你的接口在其它服务器,那就存在跨域问题。遇到跨域问题,最常见的控制台报错是No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://127.0.0.1:8828' is therefore not allowed access.,当然,也不排除其它报错情况。上面的http-server可以帮你解决跨域问题,但前提是你命令行写正确,我把上面的跨域地址少写了个www,结果就报上面的错误。

 

  • css、js没执行 or 一片空白

     
    有时候打包运行时发现一片空白,这可能就是打包后的css/js的引入问题了。默认的引入方式如图
    图片描述

    是绝对路径方式。我们希望是相对路径,可以把config/index.js中的assetsPublicPath: '/',改为assetsPublicPath: './',这样再打包出来的就是相对路径了。

    图片描述
     

  • 运行打包后的项目时,在非首页页面刷新时直接404

     
    如果你的项目出现这个问题,那么你的router中一定是把mode定义为history了。定义hash模式则不会出这个问题。难道只能用很丑的hash?当然不是,其实vue-router官方文档的HTML5 History 模式对此已有说明,这个就需要后端的小伙伴帮我们设置一下了。

 

  • 其它问题

     
    每个人的项目不同,配置不同,环境不同...可能还会遇到各种各样的问题,这里不可能一一列举,其实这些问题网上基本上都有解决方法,还是那句话,请善用 google or baidu。

对打包后代码的思索

因篇幅原因,请移步本文续篇vue-cli打包后的思索--代码优化

vue2.0仿唯妮海购GitHub



推荐阅读
  • 本文讨论了在使用PHP cURL发送POST请求时,请求体在node.js中没有定义的问题。作者尝试了多种解决方案,但仍然无法解决该问题。同时提供了当前PHP代码示例。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • WebSocket与Socket.io的理解
    WebSocketprotocol是HTML5一种新的协议。它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
author-avatar
Fater-_635
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有