VUE项目打包,问题及解决

在基本的java web工程中,WebContent目录存放了前端显示所需资源。所以VUE项目打包之后的内容也是放置在此处。

作为开发者,使用npm run dev来运行VUE项目,如果是用于打包,则使用npm run build来生成目标资源。
VUE项目中的config/index.js中包含了dev和build对应的参数。
npm run build将会在VUE根目录下生成dist目录,里面包含了index.html和static文件夹。

  build: {
    // Template for index.html
    index: path.resolve(__dirname, '../dist/index.html'),

    // Paths
    assetsRoot: path.resolve(__dirname, '../dist'),
    assetsSubDirectory: 'static',
    assetsPublicPath: '/',

按照之前理解,将生成的dist文件夹放置到WebContent目录下,在java web工程构建之后就应该可以通过“原url/dist/”进行访问了。但是,我们在访问时会发现网页内容为空,如何解决呢?请检查下面三个问题。

  1. 路径依赖问题
    我们放置的index.html和static文件夹在同一级目录下面,并且都没有放在java web工程的根目录下,所以需要修改build参数,即VUE项目中的config/index.js文件,将assetsPubicPath修改为相对路径。
    在这里插入图片描述
  2. 路由配置问题
    我在开发的时候,嫌弃VUE项目访问路径中的#号,所以在router配置中,设置成了history模式,但是,如果设置为history模式,则需要后端(即java web工程)进行一定的配合,可参考:https://router.vuejs.org/guide/essentials/history-mode.html,简单来说,就是在服务端加一个覆盖所有的情况的候选资源:如果URL匹配不到任何静态资源,则应该返回一个index.html,这个页面就是咱们app的依赖页面。
    如果不想修改java web工程,则只能使用默认的hash模式。
    其配置位于src/router/index.js:
const router = new VueRouter({
  mode: 'history',  //将该行删除
  routes: [...]
})
  1. 解决图片等静态资源无法显示
    这里可能存在两种情况:一种是静态资源CSS中使用图片作为背景图片使用,第二种是在JS中生成图片标签后,再设置图片路径。
    这是因为图片的路径问题,这就导致了无法找到图片正确的路径。
    需要更改build/utils.js文件中的ExtractTextPlugin的配置项:
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue项目常见问题解决方法包括但不限于以下几个方面: 1. 跨域问题:在Vue项目中,由于浏览器的同源策略限制,经常会遇到跨域问题解决方法可以使用代理服务器来转发请求,或者在后端接口中设置允许跨域请求的头信息。 2. 路由问题:有时候会遇到路由跳转不成功或者参数传递错误的问题解决方法是检查路由配置是否正确,确保路由路径和组件对应正确,同时在跳转时传递参数时要注意参数的类型和命名是否一致。 3. 组件通信问题:在Vue项目中,组件之间的通信是常见的问题解决方法可以使用Vuex来进行状态管理,或者使用Vue的自定义事件来实现组件间的通信。 4. 性能优化问题:在大型Vue项目中,性能优化是一个重要的考虑因素。解决方法包括使用异步组件来提高首屏加载速度,使用懒加载来按需加载组件,合理使用Keep-alive缓存组件等。 5. 打包部署问题Vue项目打包部署有时候会遇到一些问题,比如打包后文件体积过大或者部署到服务器后页面空白等。解决方法可以使用Webpack进行代码优化和压缩,或者检查部署路径和服务器环境等。 综上所述,Vue项目常见问题解决方法需要深入理解Vue的相关知识,并结合具体问题进行调试和优化。在实际开发中,理解这些问题并能够快速解决将有助于提高开发效率和项目质量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值