vue填坑之webpack run build 静态资源找不到的解决方法


Posted in Javascript onSeptember 03, 2018

vue cli搭建的项目,在本地测试调试都OK,运行npm run dev之后运行正常,今天放到服务器上跑,结果RD说找不到打包后的静态资源,浏览器控制台错误代码404

问了RD,因为服务器上线方式的调整,不会指定具体项目路径因此,https://bigdata.yiche.com/static/css/app.149f36018149fcbe537f02cafdc6f047.css 这个文件找不到,看看我们正常打包好的目录:

vue填坑之webpack run build 静态资源找不到的解决方法

正确的访问路径是:https://bigdata.yiche.com/deploy/static/css/app.149f36018149fcbe537f02cafdc6f047

config/index.js配置如图:

vue填坑之webpack run build 静态资源找不到的解决方法

思来想去之前打包好的文件直接扔到nginx就可以使用,实在不清楚原因。于是找到我们的美女组长姐姐来帮忙,分分钟改了config/index.js下的几行代码,如图:

vue填坑之webpack run build 静态资源找不到的解决方法

这里需要注意assetsPublicPath:'/deploy/' 末尾的斜杠一定要加,不然部分js打包后会出现https://bigdata.yiche.com/deploystatic/css/app.149f36018149fcbe537f02cafdc6f047这样的情况。

看下打包好的目录,对比之后会发现多了一层deploy目录,这个多出来的路径是index和assetsRoot这两个设置决定的

vue填坑之webpack run build 静态资源找不到的解决方法

而assetsPublicPath则是确定打包后的文件引用路径:看看打包后的index.html文件的js和css资源的引用路径:

vue填坑之webpack run build 静态资源找不到的解决方法

对比之前默认配置的路径:

vue填坑之webpack run build 静态资源找不到的解决方法

好了再放到服务器上,问题解决了。

问题总结:

原因是服务器没有指定项目目录,因此需要在打包时对打包文件添加访问的项目名称,所以在配置打包路径是要加上项目名称,下面是vue cli默认webpack config/index.js的配置解释

var path = require('path')

module.exports = {
 build: { // production 环境
 env: require('./prod.env'), // 使用 config/prod.env.js 中定义的编译环境
 index: path.resolve(__dirname, '../dist/index.html'), // 编译输入的 index.html 文件
 assetsRoot: path.resolve(__dirname, '../dist'), // 编译输出的静态资源路径
 assetsSubDirectory: 'static', // 编译输出的二级目录
 assetsPublicPath: '/', // 编译发布的根目录,可配置为资源服务器域名或 CDN 域名
 productionSourceMap: true, // 是否开启 cssSourceMap
 // Gzip off by default as many popular static hosts such as
 // Surge or Netlify already gzip all static assets for you.
 // Before setting to `true`, make sure to:
 // npm install --save-dev compression-webpack-plugin
 productionGzip: false, // 是否开启 gzip
 productionGzipExtensions: ['js', 'css'] // 需要使用 gzip 压缩的文件扩展名
 },
 dev: { // dev 环境
 env: require('./dev.env'), // 使用 config/dev.env.js 中定义的编译环境
 port: 8080, // 运行测试页面的端口
 assetsSubDirectory: 'static', // 编译输出的二级目录
 assetsPublicPath: '/', // 编译发布的根目录,可配置为资源服务器域名或 CDN 域名
 proxyTable: {}, // 需要 proxyTable 代理的接口(可跨域)
 // CSS Sourcemaps off by default because relative paths are "buggy"
 // with this option, according to the CSS-Loader README
 // (https://github.com/webpack/css-loader#sourcemaps)
 // In our experience, they generally work as expected,
 // just be aware of this issue when enabling this option.
 cssSourceMap: false // 是否开启 cssSourceMap
 }
}

本人个人理解,如有不对欢迎指出!

以上这篇vue填坑之webpack run build 静态资源找不到的解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
基于JQuery的一个简单的鼠标跟随提示效果
Sep 23 Javascript
js实现图片放大缩小功能后进行复杂排序的方法
Nov 08 Javascript
jQuery中element选择器用法实例
Dec 29 Javascript
深入浅析JavaScript的API设计原则
Jun 14 Javascript
Bootstrap表单布局
Jul 19 Javascript
解决Vue 浏览器后退无法触发beforeRouteLeave的问题
Dec 24 Javascript
JavaScript生成指定范围随机数和随机序列的方法
May 05 Javascript
超出JavaScript安全整数限制的数字计算BigInt详解
Jun 24 Javascript
vue车牌号校验和银行校验实战
Jan 23 Javascript
extract-text-webpack-plugin用法详解
Feb 14 Javascript
在vue中阻止浏览器后退的实例
Nov 06 Javascript
解决antd datepicker 获取时间默认少8个小时的问题
Oct 29 Javascript
webpack4 处理CSS的方法示例
Sep 03 #Javascript
webpack4 CSS Tree Shaking的使用
Sep 03 #Javascript
解决Vue+Element ui开发中碰到的IE问题
Sep 03 #Javascript
webpack4 处理SCSS的方法示例
Sep 03 #Javascript
解决vue打包css文件中背景图片的路径问题
Sep 03 #Javascript
解决Vue2.0中使用less给元素添加背景图片出现的问题
Sep 03 #Javascript
vue组件(全局,局部,动态加载组件)
Sep 02 #Javascript
You might like
php生成SessionID和图片校验码的思路和实现代码
2009/03/10 PHP
PHP计算2点经纬度之间的距离代码
2013/08/12 PHP
基于PHP实现数据分页显示功能
2016/05/26 PHP
php版阿里云OSS图片上传类详解
2016/12/01 PHP
PHP CURL与java http使用方法详解
2018/01/26 PHP
JavaScript 开发中规范性的一点感想
2009/06/23 Javascript
JS组件中bootstrap multiselect两大组件较量
2016/01/26 Javascript
Angularjs 自定义服务的三种方式(推荐)
2016/08/02 Javascript
Vue.js每天必学之过渡与动画
2016/09/06 Javascript
Nodejs下用submit提交表单提示cannot post错误的解决方法
2016/11/21 NodeJs
jQuery操作css样式
2017/05/15 jQuery
jQuery为某个div加入行样式
2017/06/09 jQuery
基于bootstrap实现多个下拉框同时搜索功能
2017/07/19 Javascript
Angular学习教程之RouterLink花式跳转
2018/05/03 Javascript
手动下载Chrome并解决puppeteer无法使用问题
2018/11/12 Javascript
vue-cli 3 全局过滤器的实例代码详解
2019/06/03 Javascript
如何在JS文件中获取Vue组件
2020/09/16 Javascript
Python中用startswith()函数判断字符串开头的教程
2015/04/07 Python
Python正则简单实例分析
2017/03/21 Python
Pycharm技巧之代码跳转该如何回退
2017/07/16 Python
python获取栅格点和面值的实现
2020/03/10 Python
阿迪达斯西班牙官方网站:adidas西班牙
2016/07/21 全球购物
Ariat英国官网:为世界顶级马术运动员制造最优质的鞋类和服装
2020/02/14 全球购物
Hammitt官网:设计师手袋
2020/05/23 全球购物
求职自荐信格式
2013/12/04 职场文书
护士自我介绍信
2014/01/13 职场文书
妇产医师自荐信
2014/01/29 职场文书
珍惜时间演讲稿
2014/05/14 职场文书
保护水资源的标语
2014/06/17 职场文书
诚实守信道德模范事迹材料
2014/08/15 职场文书
群众路线领导班子四风对照检查材料
2014/09/27 职场文书
2015届本科毕业生自我鉴定
2014/09/27 职场文书
2014年实习期工作总结
2014/11/27 职场文书
丧事主持词
2015/07/02 职场文书
决心书格式范文
2015/09/23 职场文书
CI Games宣布《堕落之王2》使用虚幻引擎5制作 预计将于2023年正式发售
2022/04/11 其他游戏