(三)01 -Vue项目打包发布移动App——vue.config.js中配置相对路径publicPath为空字符串 在public中添加HBuilderX的打包配置文件manifest.json
Vue 项目打包发布移动 App——npm run build打包 & vue.config.js文件中配置相对路径publicPath为空字符串 & 在 public中添加HBuilderX的打包配置文件manifest.json 文件
一、 如果需要发布移动App,则在 public 中添加 manifest.json 文件
参考文档:http://ask.dcloud.net.cn/article/94
二、在项目的 vue.config.js
文件中
在vue官网中,生态系统——>Vue CLI——>配置参考——>publicpath(打包配置参考),部署应用包时的基本 URL
https://cli.vuejs.org/zh/config/#publicpath
默认情况下,Vue CLI 会假设你的应用是被部署在一个域名的根路径上,例如
https://www.my-app.com/
。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在https://www.my-app.com/my-app/
,则设置publicPath
为/my-app/
。这个值也可以被设置为空字符串 (
''
) 或是相对路径 ('./'
),这样所有的资源都会被链接为相对路径,这样打出来的包可以被部署在任意路径,也可以用在类似 Cordova hybrid 应用的文件系统中。
- vue.config.js 和 VueCLI 打包的配置文件
- 如果需要修改配置项则添加这个文件
- 如果不需要修改,则不用添加
- 改什么
- 大多数都是和 webpack 配置相关的配置项
- 怎么改
- 配置参考
第一步:vue.config.js
中:
// vue-cli 配置
/*** 配置文档:https://cli.vuejs.org/zh/config/*/module.exports = {lintOnSave: false,/*** / 用于部署在 HTTP 服务中* 如果是混合应用,则将其设置为相对路径 ./ 或 ''* 参考文档:https://cli.vuejs.org/zh/config/#publicpath*/publicPath: './'
}
三、将 Vue 项目打包(构建为纯粹的 html、css、js)
第二步:网页不支持vue文件,需要打包为html文件
npm run build
注:
- 打包后,会默认清空dist文件夹里的文件内容
- 打包后,public文件夹 中的文件不会被编译,会自动复制到dist文件夹里
- 可以把配置文件manifest.json 文件,添加到public文件夹 中
打开新的命令行 可简写:$hs
$ http-server
http-server 是一个简单的零配置命令行http服务器
网址:https://github.com/http-party/http-server
全局安装
npm install --global http-server
打包后,产生 dist 结果:
- 入口文件就是index.html
参考文档:https://cli.vuejs.org/zh/guide/deployment.html#%E6%9C%AC%E5%9C%B0%E9%A2%84%E8%A7%88
四、真机调试运行进行测试
五、发布
发布移动 App
结合使用 DCloud 平台
1. 在 HBuilder 中打开 dist 目录
2. 选择 发行 -> 原生 App(云打包)
3. 等待结构拿到打包的安装文件
4. 最后去手机安装测试
5. 最后根据需要发布到应用商店
打包移动 App,准备工作步骤总结:
第一步:在打包项目的文件夹中,启动命令行
第二步:命令行中输入 npm run build
,打包vue项目文件
产生dist文件夹,里面包含css文件夹、js文件夹、index.html文件
没有生成manifest.json 打包配置文件,需要手动添加
index.html文件中的src
- src=/js/chunk-vendors.5dd9b266.js里的 / ,指的是根路径
localhost:8080/abc/index.html
注:只有第一个 / ,才是根路径;域名是根
第三步:新打开一个命令行,全局安装http-server
npm install --global http-server
第四步:命令行中输入$ http-server
或$ hs
,开启一个web的测试服务器
显示如下,端口号为8080
http://127.0.0.1:8080
http://192.168.151.35:8080
http://10.253.1.251:8080
第五步:把 npm run build
打包后生成的dist文件夹名称改为abc
第六步:在浏览器网址中输入:localhost:8080/abc/index.html,页面显示为空,F12检查显示为404
第七步:在vue-cli的配置文件vue.config.js
中,进行配置相对路径,publicPath值为 ./ 或 空字符串
module.exports = {
lintOnSave: false,
/**
- / 用于部署在 HTTP 服务中
- 如果是混合应用,则将其设置为相对路径 ./ 或 ‘’
- 参考文档:https://cli.vuejs.org/zh/config/#publicpath
*/
publicPath: ‘./’
}
第八步:把HBuilderX的打包配置文件manifest.json 文件复制到dist里面
第九步:vue-cli的配置文件有修改,需要重新打包
npm run build
此时,会把dist里的文件进行自动删除manifest.json 文件
第十步:把HBuilderX的打包配置文件manifest.json 文件复制到publice文件夹里面,此时
index.html文件中的src路径,改为相对路径
// src=/js/chunk-vendors.5dd9b266.js里的 **/** ,指的是根路径 src=js/app.5c8db14b.js
(三)01 -Vue项目打包发布移动App——vue.config.js中配置相对路径publicPath为空字符串 在public中添加HBuilderX的打包配置文件manifest.json相关推荐
- webpack来打包你的vue项目,如发现你的vendor.js过大
1.如果你使用了webpack来打包你的vue项目,如发现你的vendor.js过大则可以参考本文的解决方案. 2.造成过大的原因是因为在main.js导入第三库太多时,webpack合并js时生成了 ...
- 六十四、Vue项目去哪儿网App开发准备
2020/10/20 . 周二.今天又是奋斗的一天. @Author:Runsen @Date:2020/10/20 写在前面:我是「Runsen」,热爱技术.热爱开源.热爱编程.技术是开源的.知识是 ...
- 六十五、完成Vue项目去哪儿网App首页开发(来源:慕课网)
2020/10/21. 周三.今天又是奋斗的一天. @Author:Runsen @Date:2020/10/21 写在前面:我是「Runsen」,热爱技术.热爱开源.热爱编程.技术是开源的.知识是共 ...
- Vue.js教程-Vue项目的目录结构和.vue文件的构成
Vue.js教程-Vue项目的目录结构和.vue文件的构成 前言 Vue项目的目录结构(Vue-cli3/4版本) .vue文件的构成 Html区域(template) script区域 export ...
- Vue项目 跨域 解决方案与 vue.config.js 配置解析
为什么会出现跨域? 出于浏览器的同源策略限制.同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响.可以说 ...
- vue项目结构php写哪里,Vue项目的创建,以及项目目录结构的分析
Vue项目环境搭建""" node ~~ python:node是用c++编写用来运行js代码的 npm(cnpm) ~~ pip:npm是一个终端应用商城,可以换国内源 ...
- vue项目结构php写哪里,vue项目结构(详细教程)
这篇文章主要介绍了vue初尝试--项目结构的相关知识,需要的朋友可以参考下 新建一个项目之后,我们来看一下项目的目录结构 几个主要文件的内容 index.html文件(入口文件,系统进入之后先进入in ...
- vue项目引入不符合ES6模块化标准的JS文件
vue项目引入不符合ES6模块化标准的JS文件 实现方式 实现原理 实现方式 要引入的文件放在public目录下,在index.html中通过script标签引入 实现原理 参考vue官网–处理静态资 ...
- Vue-cli中 vue.config.js 的配置详解
1. Vue-cli2 升级到 Vue-cli3+ 1.1 卸载旧版本 Vue CLI 的包名称由 vue-cli 改成了 @vue/cli. 如果你已经全局安装了旧版本的 vue-cli (1.x ...
最新文章
- WKWebview 的使用及坑
- 在线引入bootstrap包
- 11月27日struts项目练习评审
- 志愿填报显示服务器错误,高分落榜案例:志愿填报常见的3个低级错误
- 渗透测试小马(一句话)篇
- 会java学scala多久_Scala中超时的未来
- 通过 Azure Pipelines 实现持续集成之docker容器化
- jdbc链接mysql的第二个例子。使用properties文件存放连接信息。使用jar文件一个
- 20181030-4 每周例行报告
- C++11 变参模板
- LINUX下载编译ffmpeg(doubango)
- 香农辅助定理、KL散度和Jensen不等式
- Idea终端中无法使用maven命令问题解决
- 字幕的嵌入AVI转RMVB
- 【数据结构—图】拓扑Topo排序
- win10(家庭版)打开本地组策略失败的处理方法
- windows10 禁用Device/Credential Guard解决方案
- MIPI_DSI协议简要介绍
- 【180730】WinForm打地鼠小游戏源码
- linux zip/unzip命令详解
热门文章
- 总结:linux笔记-003
- django中form表单post无法提交
- 计算机软件扫描功能比较好,超高口碑的4款手机扫描软件,到底哪个效果好
- macOS Big Sur 正式版来袭,真的是有一种电脑 iPad 化的感觉
- Could not load file or assembly #39;Microsoft.VisualBasic, ----jexus使用报错
- 互联网攻陷中老年人群:奶奶抢红包,外婆学美图
- 在本地安装divi主题 —— 详细步骤
- 2021年墨西哥经济发展研究报告
- 卖货还能“带股价”,天猫超市怎么做到的?
- Mac使用Microsoft Remote Desktop远程控制Win10电脑