你是不是一直存在个困惑?vue项目build出来的dist文件夹下index.html直接点开始控制台一顿报错。今天咱就给他治服。

解决方案就是本地启动一个node服务。详细步骤如下:

  • 创建项目

     npm init
  • 安装express

    npm install express
  • 使用

    新建一个js,我这命名为server.js

      var express = require("express");
    var app = express();
    // 静态资源代理
    app.use("/", express.static(__dirname + "/dist")); app.get("/", function (_, res) {
    res.sendFile(__dirname + "/dist/index.html");
    }); var server = app.listen(8088, function () {
    var port = server.address().port;
    console.log('localhost:' + port);
    });
  • 运行

    把vue项目中build生成的dist文件夹copy过来。

    node server.js

    打完收工

上面举例的是个没有请求接口的项目,但是我们的项目不请求接口是不可能的。 所以请求接口还是会有问题直接报404。

为啥项目开发运行过程中不会出问题,是因为我们在vue.config.js中配置的 devServer

当项目打包之后,你会发现项目变成静态页面了,我们会把页面打包部署到类似 nginx 上,也就是没有 node.js 作为页面的呈现服务了,那么配置的 devServer 当然也没法有效了,但原理还是一致的,最后只需在 nginx 上配置转发即可。

这是打包后部署服务器上的原理, 那我们部署在本地node服务原理也一样,我们借助http-proxy-middleware来完成代理转发。

  • 安装

    npm install http-proxy-middleware`
  • 使用

    var { createProxyMiddleware } = require("http-proxy-middleware");
    app.use(
    "/api", // 需要代理接口路径
    createProxyMiddleware({
    target: "", // 代理的域名
    changeOrigin: true,
    secure: false,
    onProxyReq: function (proxyReq, req, res, options) {
    if (req.body) {
    let bodyData = JSON.stringify(req.body);
    // incase if content-type is application/x-www-form-urlencoded -> we need to change to application/json
    proxyReq.setHeader("Content-Type", "application/json");
    proxyReq.setHeader("Content-Length", Buffer.byteLength(bodyData));
    // stream the content
    proxyReq.write(bodyData);
    }
    },
    })
    );
  • 运行

    npm server

再会

vue项目打包后的文件如何在本地访问的更多相关文章

  1. vue项目打包后运行报错400如何解决

    昨天一个Vue项目打包后,今天测试,发现无论localhost还是服务器上都运行不了,报错如下: Failed to load resource: the server responded with ...

  2. vue项目打包后想发布在apache www/vue 目录下

    使用的是vue-element-admin做示例,可以参考Vue项目根据不同运行环境打包项目,其他项目应该大同小异. 使用vue-router的browserHistory模式,配置mode: 'hi ...

  3. vue项目打包后使用reverse-sourcemap反编译到源码(详解版)

    首先得说一下,vue项目中productionSourceMap这个属性.该属性对应的值为true|false.   当productionSourceMap: true,时: 1.打包后能看到xxx ...

  4. Vue项目打包后背景图片路径错误

    vue项目打包之后背景图片出错的解决方案如下: 1,找到 config->index.js里面,如下修改 默认配置: env: require('./prod.env'), index: pat ...

  5. vue项目打包后资源相对引用路径的和背景图片路径问题

    vue项目中若要使用相对路径来获得相应静态资源,需要修改以下内容来确保项目打包后能正常运行. 1.修改config => index.js => build => assetsPub ...

  6. vue项目打包后一片空白及资源引入的路径报错解决办法

    网上很多说自己的VUE项目通过Webpack打包生成的list文件,放到HBulider打包后,通过手机打开一片空白.这个主要原因是路径的问题. 1.记得改一下config下面的index.js中bu ...

  7. vue项目打包后css背景图路径不对的问题

    问题描述: 自己在自学vue做项目的过程中,遇到一个有关背景图片路径的问题,就是css代码中背景图片是根据相对路径来写的,如下图: 当使用npm run dev命令本地访问的时候,背景图片是正常显示的 ...

  8. vue项目打包后路径出错

    安装完vue后搭建了一个项目,直接执行 npm run dev 是可以正常打开页面的: 但是执行 npm run build 打包项目后打开却报错了,如下: 原来是项目中的静态文件路径报错了... 然 ...

  9. vue-cli构建的vue项目打包后css引入的背景图路径不对的问题

    使用vue-cli构建vue项目后,再打包遇到一个css引入的背景图片路径的问题,就是css代码中背景图片是根据相对路径来写的,如下图: 当使用npm run dev命令本地访问的时候,背景图片是正常 ...

  10. vue中打包后vendor文件包过大

    vue中webpack打包后vendor.xxx.js文件一般都特别大,其原因是因为我们引用的依赖都被压缩成一个js文件,这样会导致vendor文件过大.页面加载速度过慢,影响用户体验.所以我们就要把 ...

随机推荐

  1. 【深入浅出Seata原理及实战】「入门基础专题」探索Seata服务的AT模式下的分布式开发实战指南(2)

    承接上文 上一篇文章说到了Seata 为用户提供了 AT.TCC.SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案.那么接下来我们将要针对于AT模式下进行分布式事务开发的原理进行介绍以及 ...

  2. rvm安装ruby

    macOS11.1 打开终端 使用下面命令查看ruby版本 rvm list known 然后安装 rvm install 2.0.0 查看ruby版本 ruby -v   系统默认使用ruby版本 ...

  3. (16)go-micro微服务jaeger链路追踪

    目录 一 jaeger链路追踪介绍 什么是链路追踪: 链路追踪主要功能: 二 jaeger链路追踪作用 三 jaeger链路追踪主要特性 四 jaeger链路追踪原理图 1.链路调用原理 2. 一次调 ...

  4. Blazor如何实现类似于微信的Tab切换?

    是否有小伙伴在使用tab的时候想进行滑动切换Tab? 并且有滑动左出左进,右出右进的效果 ,本文将讲解怎么在Blazor中去通过滑动切换Tab 本文中的UI组件使用的是MASA Blazor,您也可以 ...

  5. 初探富文本之OT协同实例

    初探富文本之OT协同实例 在前边初探富文本之OT协同算法一文中我们探讨了为什么需要协同.为什么仅有原子化的操作并不能实现协同.为什么要有操作变换.如何进行操作变换.什么时候能够应用操作.服务端如何进行 ...

  6. 学习python的编程语言

    前言 那么多编程语言,为什么学python 易于学习,是所有编程语言当中最容易学习的 没有最好的语言,只有最合适的语言 第一章 python基础 1. 课程整体介绍 课程整体介绍 python编程基础 ...

  7. Linux存储服务

    存储服务 一.概述 存储:用于存放用户上传的内容(数据),一般应用在网站集群中 为什么要存储? 如果不使用存储,用户上传的数据就直接存放在某一台网站服务器上了,用户下次访问就可能找不到 如果使用存储, ...

  8. Ubuntu vmware共享文件夹自动挂载

    自动挂载 修改/etc/fstab,加入如下内容 .host:/ /mnt/hgfs fuse.vmhgfs-fuse allow_other,defaults 0 0 手动挂载 修改/etc/fst ...

  9. 分布式共识算法随笔 —— 从 Quorum 到 Paxos

    分布式共识算法随笔 -- 从 Quorum 到 Paxos 本文主要参考各类英文文献,部分专业术语翻译较为生硬,望谅解. 概览: 为什么需要共识算法? 昨夜西风凋碧树,独上高楼,望尽天涯路 复制(Re ...

  10. JumpServer(v2.28.6) 堡垒机常见问题

    JumpServer 各组件查询日志方法 # 默认持久化目录 /data/jumpserver ls -al /data/jumpserver/core/logs ls -al /data/jumps ...