vue本地打开build后生成的dist文件夹index.html问题


Posted in Javascript onSeptember 04, 2019

1.问题描述:

npm run build 在dist 文件生成了 index 和 static 文件夹,为什么本地打开不了,给后端就能打开?

如何才能像访问 npm run dev 的地址那样访问?

2.种简单方法

2.1 修改配置在本地访问

更改一些路径参数后,然后再次运行npm run build 就可以在本地打开index.html

改哪里?

config/index.js文件

build: {
 assetsPublicPath: '/'
}

改成

build: {
 assetsPublicPath: './'
}

修改后再次运行 npm run build

双击 index.html 即可

2.2 通过在dist 目录中起服务访问

step1:

在dist 文件中添加 server.js

var express = require('express');
 var app = express();
 const hostname = 'localhost';
 const port = 8080;
 app.use(express.static('./'));
 app.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}`);
 });

step 2:

在dist 路径下,npm install express

step 3:

node server

3.其他:

3.1 本地访问不足

如果ajax请求的数据是通过访问本地文件伪造的,那么会报跨域错误

不支持跨域读取本地data

本地访问路径如:

file:///Users/Downloads/vue-travel-master/dist/index.html

3.2 生产环境不支持proxyTable

config/index.js 中,只有开发环境dev中配置了proxyTable,支持访问代理路径

但是在 build 中配置无效,不支持代理地址

比如我在开发环境中请求数据

axios.get('/api/index.json?city=' + this.city)

开发环境的proxyTable:

proxyTable: {
 '/api': {
 target: 'http://localhost:8080',
 changeOrigin:true,//允许跨域
 pathRewrite: {
  '^/api': '/static/mock'
 }
 }

访问路径会替换成  http://localhost:8080/static/mock/index.json

但是生产环境不支持这样,路径要写全: 

axios.get('/static/mock/index.json?city=' + this.city)

这样在dist目录下 node server 就可以访问了和 npm run dev 的效果是一模一样的!

起服务访问地址:

http://localhost:8080/static/js/app.5115f466b0f6ef56da51.js

3.3 express 配置

var express = require('express'); 
var app = express(); 
const hostname = 'localhost';
const port = 8080;
//Express 提供了内置的中间件 express.static 来设置静态文件
app.use(express.static('./'));

app.listen(port, hostname, () => {
 console.log(`Server running at http://${hostname}:${port}`);
});
express.static('./')

express 会在静态资源目录下查找文件,即server.js的上层路径dist目录,现在你可以加载dist 目录下的文件了,如:

http://localhost :8080/static/mock/index.json?city=%E4%B8%8A%E6%B5%B7

访问路径为:

——dist 
 ——static 
  ——css
  ——js
  ——mock
   ——a.json
 ——index.html 
 ——server.js

4. 代码

4.1 可运行代码链接

可下载运行试试

总结

以上所述是小编给大家介绍的vue本地打开build后生成的dist文件夹index.html问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
JS 文件本身编码转换 图文教程
Oct 12 Javascript
23个Javascript弹出窗口特效整理
Feb 25 Javascript
jQuery渐变发光导航菜单的实例代码
Mar 27 Javascript
JavaScript在IE和FF下的兼容性问题
May 19 Javascript
js确认删除对话框适用于a标签及submit
Jul 10 Javascript
js判断浏览器版本以及浏览器内核的方法
Jan 20 Javascript
Jquery中$.post和$.ajax的用法小结
Apr 28 Javascript
JS将滑动门改为选项卡(需鼠标点击)的实现方法
Sep 27 Javascript
js验证框架之RealyEasy验证详解
Jun 08 Javascript
基于jQuery的checkbox全选问题分析
Nov 18 Javascript
编写React组件项目实践分析
Mar 04 Javascript
Angular性能优化之第三方组件和懒加载技术
May 10 Javascript
简单谈谈javascript高级特性
Sep 04 #Javascript
在layui中使用form表单监听ajax异步验证注册的实例
Sep 03 #Javascript
解决mui框架中switch开关通过js控制开或者关状态时小圆点不动的问题
Sep 03 #Javascript
mui js控制开关状态、修改switch开关的值方法
Sep 03 #Javascript
Layui给switch添加响应事件的例子
Sep 03 #Javascript
layui--js控制switch的切换方法
Sep 03 #Javascript
Vue使用Clipboard.JS在h5页面中复制内容实例详解
Sep 03 #Javascript
You might like
生成卡号php代码
2008/04/09 PHP
php 上传功能实例代码
2010/04/13 PHP
PHP mb_convert_encoding文字编码的转换函数介绍
2011/11/10 PHP
解析smarty模板中类似for的功能实现
2013/06/18 PHP
TP5框架简单登录功能实现方法示例
2019/10/31 PHP
jQuery之排序组件的深入解析
2013/06/19 Javascript
jQuery组件easyui基本布局实现代码
2016/08/25 Javascript
Bootstrap Table使用方法解析
2016/10/19 Javascript
json2.js 入门教程之使用方法与实例分析
2017/09/14 Javascript
Web技术实现移动监测的介绍
2017/09/18 Javascript
javascript中new Array()和var arr=[]用法区别
2017/12/01 Javascript
JavaScript实现二叉树定义、遍历及查找的方法详解
2017/12/20 Javascript
微信小程序实现简单跑马灯效果
2020/05/26 Javascript
ES10的13个新特性示例(小结)
2019/09/23 Javascript
解决vue.js提交数组时出现数组下标的问题
2019/11/05 Javascript
node.js中path路径模块的使用方法实例分析
2020/02/13 Javascript
微信小程序实现手指拖动选项排序
2020/04/22 Javascript
python基础教程之udp端口扫描
2014/02/10 Python
Python常用模块介绍
2014/11/21 Python
Python封装shell命令实例分析
2015/05/05 Python
Python函数式编程指南(一):函数式编程概述
2015/06/24 Python
sublime text 3配置使用python操作方法
2017/06/11 Python
Centos部署django服务nginx+uwsgi的方法
2019/01/02 Python
django使用haystack调用Elasticsearch实现索引搜索
2019/07/24 Python
python pandas.DataFrame.loc函数使用详解
2020/03/26 Python
Mountain Warehouse澳大利亚官网:欧洲家庭户外品牌倡导者
2016/11/20 全球购物
FOREO官方网站:LUNA露娜洁面仪
2016/11/28 全球购物
关于旷工的检讨书
2014/02/02 职场文书
创建卫生先进单位实施方案
2014/03/10 职场文书
加多宝凉茶广告词
2014/03/18 职场文书
谢师宴答谢词
2015/01/05 职场文书
个人道歉信大全
2019/04/11 职场文书
MySQL面试题讲解之如何设置Hash索引
2021/11/01 MySQL
nginx常用配置conf的示例代码详解
2022/03/21 Servers
SpringBoot详解执行过程
2022/07/15 Java/Android
Python pyecharts案例超市4年数据可视化分析
2022/08/14 Python