vue cli3.0打包上线静态资源找不到路径的解决操作


Posted in Javascript onAugust 03, 2020

项目中遇到打包之后静态资源路径找不到,报如下错误:

vue cli3.0打包上线静态资源找不到路径的解决操作

解决方法是:

在项目的根目录下创建vue.config,js文件,在里面配置静态资源的路径,publicPath是配置静态资源路径的属性,vue.config,js文件的代码如下:

module.exports = {
  publicPath: './'
}

补充知识:vue-cli3 npm run build 打包后静态资源的配置 vue.config.js的配置

vue cli3.0打包上线静态资源找不到路径的解决操作

vue.config.js配置如下:

const path = require('path');
const vConsolePlugin = require('vconsole-webpack-plugin'); // 引入 移动端模拟开发者工具 插件 (另:https://github.com/liriliri/eruda)
const CompressionPlugin = require('compression-webpack-plugin'); //Gzip
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin; //Webpack包文件分析器
const baseUrl = process.env.NODE_ENV === "production" ? "/static/" : "/"; //font scss资源路径 不同环境切换控制
 
module.exports = {
 //基本路径
 baseUrl: './',
 //输出文件目录
 outputDir: 'dist',
 // eslint-loader 是否在保存的时候检查
 lintOnSave: true,
 //放置生成的静态资源 (js、css、img、fonts) 的 (相对于 outputDir 的) 目录。
 assetsDir: 'static',
 //以多页模式构建应用程序。
 pages: undefined,
 //是否使用包含运行时编译器的 Vue 构建版本
 runtimeCompiler: false,
 //是否为 Babel 或 TypeScript 使用 thread-loader。该选项在系统的 CPU 有多于一个内核时自动启用,仅作用于生产构建,在适当的时候开启几个子进程去并发的执行压缩
 parallel: require('os').cpus().length > 1,
 //生产环境是否生成 sourceMap 文件,一般情况不建议打开
 productionSourceMap: false,
 // webpack配置
 //对内部的 webpack 配置进行更细粒度的修改 https://github.com/neutrinojs/webpack-chain see https://github.com/vuejs/vue-cli/blob/dev/docs/webpack.md
 chainWebpack: config => {
  /**
   * 删除懒加载模块的prefetch,降低带宽压力
   * https://cli.vuejs.org/zh/guide/html-and-static-assets.html#prefetch
   * 而且预渲染时生成的prefetch标签是modern版本的,低版本浏览器是不需要的
   */
  //  config.plugins.delete('prefetch');
  //  if(process.env.NODE_ENV === 'production') { // 为生产环境修改配置...process.env.NODE_ENV !== 'development'
  //  } else {// 为开发环境修改配置...
  //  }
 },
 //调整 webpack 配置 https://cli.vuejs.org/zh/guide/webpack.html#%E7%AE%80%E5%8D%95%E7%9A%84%E9%85%8D%E7%BD%AE%E6%96%B9%E5%BC%8F
 configureWebpack: config => {
  //生产and测试环境
  let pluginsPro = [
   new CompressionPlugin({ //文件开启Gzip,也可以通过服务端(如:nginx)(https://github.com/webpack-contrib/compression-webpack-plugin)
    filename: '[path].gz[query]',
    algorithm: 'gzip',
    test: new RegExp('\\.(' + ['js', 'css'].join('|') + ')$', ),
    threshold: 8192,
    minRatio: 0.8,
   }),
   // Webpack包文件分析器(https://github.com/webpack-contrib/webpack-bundle-analyzer)
   new BundleAnalyzerPlugin(),
  ];
  //开发环境
  let pluginsDev = [
   //移动端模拟开发者工具(https://github.com/diamont1001/vconsole-webpack-plugin https://github.com/Tencent/vConsole)
   new vConsolePlugin({
    filter: [], // 需要过滤的入口文件
    enable: false // 发布代码前记得改回 false
   }),
  ];
  if(process.env.NODE_ENV === 'production') { // 为生产环境修改配置...process.env.NODE_ENV !== 'development'
   config.plugins = [...config.plugins, ...pluginsPro];
  } else {
   // 为开发环境修改配置...
   config.plugins = [...config.plugins, ...pluginsDev];
  }
 },
 css: {
  // 启用 CSS modules
  modules: false,
  // 是否使用css分离插件
  extract: true,
  // 开启 CSS source maps,一般不建议开启
  sourceMap: false,
  // css预设器配置项
  loaderOptions: {
   sass: {
    //设置css中引用文件的路径,引入通用使用的scss文件(如包含的@mixin)
    data: `
    $baseUrl: "/";
   `
   }
  }
 },
 // webpack-dev-server 相关配置 https://webpack.js.org/configuration/dev-server/
 devServer: {
  host: 'localhost',
  // host: "0.0.0.0",
  port: 8000, // 端口号
  https: false, // https:{type:Boolean}
  open: true, //配置自动启动浏览器 http://XXX.XXX.X.XX:7071/rest/XXX/
  hotOnly: true, // 热更新
  proxy: 'http://localhost:8000' // 配置跨域处理,只有一个代理
  // proxy: { //配置自动启动浏览器
  // "/XX/*": {
  //  target: "http://XXX.XXX.X.XX",
  //  changeOrigin: true,
  //  // ws: true,//websocket支持
  //  secure: false
  // },
  // "/x/*": {
  //  target: "http://XXX.XXX.X.XX",
  //  changeOrigin: true,
  //  // ws: true,//websocket支持
  //  secure: false
  // },
  // }
 },
 
 // 第三方插件配置 https://www.npmjs.com/package/vue-cli-plugin-style-resources-loader
 pluginOptions: {
  'style-resources-loader': {//https://github.com/yenshih/style-resources-loader
   preProcessor: 'scss',//声明类型
   'patterns': [
//    path.resolve(__dirname, './src/assets/scss/_common.scss'),
   ],
//   injector: 'append'
  }
 }
};

以上这篇vue cli3.0打包上线静态资源找不到路径的解决操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Jquery Ajax学习实例4 向WebService发出请求,返回实体对象的异步调用
Mar 16 Javascript
从jQuery.camelCase()学习string.replace() 函数学习
Sep 13 Javascript
js使用eval解析json(js中使用json)
Jan 17 Javascript
JavaScript如何禁止Backspace键
Dec 02 Javascript
javascript原生ajax写法分享
Apr 10 Javascript
ES6新特征数字、数组、字符串
Oct 01 Javascript
Bootstrap轮播插件使用代码
Oct 11 Javascript
8 行 Node.js 代码实现代理服务器
Dec 05 Javascript
JavaScript实现全选取消效果
Dec 14 Javascript
vue2.0项目实现路由跳转的方法详解
Jun 21 Javascript
JS实现移动端点击按钮复制文本内容
Jul 28 Javascript
前端canvas中物体边框和控制点的实现示例
Aug 05 Javascript
js数组中去除重复值的几种方法
Aug 03 #Javascript
Vue打包部署到Nginx时,css样式不生效的解决方式
Aug 03 #Javascript
javascript运行机制之执行顺序理解
Aug 03 #Javascript
解决vue+elementui项目打包后样式变化问题
Aug 03 #Javascript
vue实现PC端分辨率适配操作
Aug 03 #Javascript
浅谈JavaScript中的“!!”作用
Aug 03 #Javascript
基于脚手架创建Vue项目实现步骤详解
Aug 03 #Javascript
You might like
discuz论坛 用户登录 后台程序代码
2008/11/27 PHP
PHP计划任务之关闭浏览器后仍然继续执行的函数
2010/07/22 PHP
php计算多个集合的笛卡尔积实例详解
2017/02/16 PHP
Laravel5.1 框架表单验证操作实例详解
2020/01/07 PHP
自己动手开发jQuery插件教程
2011/08/25 Javascript
nodejs命令行参数处理模块commander使用实例
2014/09/17 NodeJs
javascript获取flash版本号的方法
2014/11/20 Javascript
js实现按钮控制图片360度翻转特效的方法
2015/02/17 Javascript
javascript关于运动的各种问题经典总结
2015/04/27 Javascript
javascript中setInterval的用法
2015/07/19 Javascript
浅析JavaScript中的平稳退化(graceful degradation)
2017/07/24 Javascript
vue组件生命周期详解
2017/11/07 Javascript
JavaScript函数定义方法实例详解
2019/03/05 Javascript
Vue 页面权限控制和登陆验证功能的实例代码
2019/06/20 Javascript
Layui数据表格跳转到指定页的实现方法
2019/09/05 Javascript
layui关闭层级、简单监听的实例
2019/09/06 Javascript
微信小程序实现同时上传多张图片
2020/02/03 Javascript
Python3.x中自定义比较函数
2015/04/24 Python
详解Python验证码识别
2016/01/25 Python
基于Python os模块常用命令介绍
2017/11/03 Python
python2.7无法使用pip的解决方法(安装easy_install)
2018/04/03 Python
详解多线程Django程序耗尽数据库连接的问题
2018/10/08 Python
python tqdm 实现滚动条不上下滚动代码(保持一行内滚动)
2020/02/19 Python
关于Python3的import问题(pycharm可以运行命令行import错误)
2020/11/18 Python
canvas版人体时钟的实现示例
2021/01/29 HTML / CSS
俄罗斯电子产品、计算机和家用电器购物网站:OLDI
2019/10/27 全球购物
英国100%防污和防水的靴子:Muck Boot Company
2020/09/08 全球购物
采购主管的岗位职责
2013/12/17 职场文书
教育孩子心得体会
2014/01/01 职场文书
《一个中国孩子的呼声》教学反思
2014/02/12 职场文书
教研处工作方案
2014/05/26 职场文书
机关领导干部作风整顿整改措施
2014/09/19 职场文书
党员干部批评与自我批评反四风思想汇报
2014/09/21 职场文书
2015年个人实习工作总结
2014/12/12 职场文书
Python文件的操作示例的详细讲解
2021/04/08 Python
numpy array找出符合条件的数并赋值的示例代码
2022/06/01 Python