Vue-cli配置打包文件本地使用的教程图解


Posted in Javascript onAugust 02, 2018

最近做的一个嵌入app的pc端项目,用的也是比较熟悉的vue-cli构建工具构建项目,需要的是打开dist文件夹入口html能加载到本地的静态文件,打包后的index.html加载文件如图:

 
Vue-cli配置打包文件本地使用的教程图解
Vue-cli配置打包文件本地使用的教程图解 

url中的路径据我们所知,最前面为一个反斜杠(/XX),表示从网站根目录开始搜索文件,如果需要相对当前文件夹则需以 ./或者不加反斜杠为路径开头,看来是打包后的文件路径有问题

于是就去找webpack.base.conf.js文件,有个output选项,output是webpack中对输出文件的配置,最常用的有fileName、path属性,指定输出文件的名称和在项目中的位置,publicPath可以为项目中的所有资源指定一个基础路径,也是我们解决这个问题的关键

官方文档:webpack output

如图:

Vue-cli配置打包文件本地使用的教程图解 

可以看到publicPath属性中有个三元运算,process.env.NODE_ENV又是个什么呢?

precess对象是一个全局变量,可以在应用程序中全局使用的(包括业务页面),
process.env属性返回一个包含用户环境信息的对象,
process.env.NODE_ENV就是用来定义环境变量,一般包括production(生产环境)、development(开发环境),我们在webpack中的各种配置也是根据环境变量来做相应处理。

既然是对生产环境的文件做处理自然是去找config.build对象,这个时候就来到config文件夹下找相关配置了

Vue-cli配置打包文件本地使用的教程图解
Vue-cli配置打包文件本地使用的教程图解 

index.js文件中输出两个对象(dev、 build), 在build对象中更改assetsPublicPath为'./'或者空字符串都行,这时候执行下打包命令 npm run build,在浏览器中打开dist文件夹下的index.html

Vue-cli配置打包文件本地使用的教程图解 

哈哈,文件加载过来了,但是,css文件中引的font文件路径加载不到,来看看这个时候font文件的路径

Vue-cli配置打包文件本地使用的教程图解 

由于我用了相对当前文件夹的路径,此时的url就是相对当前css文件所在目录的,此时dist文件夹结构如图:

Vue-cli配置打包文件本地使用的教程图解

我想到的解决办法是对font文件的输出做单独处理,还是webpack.base.config.js文件,

Vue-cli配置打包文件本地使用的教程图解 

更改font文件的输出路径,好了,npm run build

Vue-cli配置打包文件本地使用的教程图解 

铛啷啷,加载出来了。

总结

以上所述是小编给大家介绍的Vue-cli配置打包文件本地使用,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
Javascript load Page,load css,load js实现代码
Mar 31 Javascript
浅谈 jQuery 事件源码定位问题
Jun 18 Javascript
Jquery api 速查表分享
Jan 12 Javascript
基于BootStrap的Metronic框架实现页面链接收藏夹功能按钮移动收藏记录(使用Sortable进行拖动排序)
Aug 29 Javascript
JavaScript中Number对象的toFixed() 方法详解
Sep 02 Javascript
jQuery生成假加载动画效果
Dec 01 Javascript
js正则表达式惰性匹配和贪婪匹配用法分析
Dec 26 Javascript
浅谈DOM的操作以及性能优化问题-重绘重排
Jan 08 Javascript
vue.js 底部导航栏 一级路由显示 子路由不显示的解决方法
Mar 09 Javascript
详解vue项目中如何引入全局sass/less变量、function、mixin
Jun 02 Javascript
jQuery事件blur()方法的使用实例讲解
Mar 30 jQuery
开发中常用的25个JavaScript单行代码(小结)
Jun 28 Javascript
详解使用VueJS开发项目中的兼容问题
Aug 02 #Javascript
重新认识vue之事件阻止冒泡的实现
Aug 02 #Javascript
深入浅出理解JavaScript高级定时器原理与用法
Aug 02 #Javascript
解决vue router组件状态刷新消失的问题
Aug 01 #Javascript
Promise.all中对于reject的处理方法
Aug 01 #Javascript
详解es6超好用的语法糖Decorator
Aug 01 #Javascript
Vue Router去掉url中默认的锚点#
Aug 01 #Javascript
You might like
PHP版国家代码、缩写查询函数代码
2011/08/14 PHP
关于Sphinx创建全文检索的索引介绍
2013/06/25 PHP
php去除二维数组的重复项方法
2015/11/03 PHP
PHP中获取文件创建日期、修改日期、访问时间的方法
2016/11/05 PHP
PHP date_default_timezone_set()设置时区操作实例分析
2020/05/16 PHP
javascript+css 网页每次加载不同样式的实现方法
2009/12/27 Javascript
javascript setAttribute, getAttribute 在不同浏览器上的不同表现
2010/08/05 Javascript
JS网页图片按比例自适应缩放实现方法
2014/01/15 Javascript
JS中三目运算符和if else的区别分析与示例
2014/11/21 Javascript
javascript编程异常处理实例小结
2015/11/30 Javascript
Nodejs Stream 数据流使用手册
2016/04/17 NodeJs
jQuery仿京东商城楼梯式导航定位菜单
2016/07/25 Javascript
Node.js微信 access_token ( jsapi_ticket ) 存取与刷新的示例
2017/09/30 Javascript
微信小程序支付之c#后台实现方法
2017/10/19 Javascript
Node.js搭建小程序后台服务
2018/01/03 Javascript
分享ES6的7个实用技巧
2018/01/18 Javascript
webpack 单独打包指定JS文件的方法
2018/02/22 Javascript
JS严格模式知识点总结
2018/02/27 Javascript
angularJS的radio实现单项二选一的使用方法
2018/02/28 Javascript
在Vue项目中使用jsencrypt.js对数据进行加密传输的方法
2019/04/17 Javascript
JS字符串常用操作方法实例小结
2019/06/24 Javascript
vue实现select下拉显示隐藏功能
2019/09/30 Javascript
nodejs实现的http、https 请求封装操作示例
2020/02/06 NodeJs
vue使用video插件vue-video-player的示例
2020/10/03 Javascript
[01:04:22]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 IG vs EG
2018/04/01 DOTA
Python数据结构之双向链表的定义与使用方法示例
2018/01/16 Python
对python使用http、https代理的实例讲解
2018/05/07 Python
python对常见数据类型的遍历解析
2019/08/27 Python
JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?
2015/10/22 面试题
开水果连锁店创业计划书
2013/12/29 职场文书
毕业寄语大全
2014/04/09 职场文书
2014年化验室工作总结
2014/11/21 职场文书
财务人员岗位职责
2015/02/03 职场文书
2015年语文教学工作总结
2015/05/25 职场文书
美丽心灵观后感
2015/06/01 职场文书
浅谈react useEffect闭包的坑
2021/06/08 Javascript