Vue项目webpack打包部署到服务器的实例详解


Posted in Javascript onJuly 17, 2017

Vue项目webpack打包部署到服务器

这篇博文主要说的就是我今天遇到的问题,而且在经过我的询问,好多人在打包部署的时候都遇到了一些问题,下面就来说下,如何将Vue项目放置在服务器上,这里以Tomcat为例。

必须要配置的就是/config/index.js

在vue-cli webpack的模板下的/config/index.js,我们可以看到assetsPublicPath这个键,并且这个东西还出现了两次,我第一次打包的时候,只是修改了最下面的assetsPublicPath,将它从'/'变为了./,然后我就执行了npm run build,打包成功之后,可以看到项目中会多出来一个文件夹,就是dist,里面有一个static文件夹和index.html,然后我就将dist目录下的文件拷贝到Tomcat服务器下,会发现访问到的是一个空白页面,但是当我把它放在..\webapps\ROOT目录下,它就可以访问了

Tomcat下面的目录结构:

Vue项目webpack打包部署到服务器的实例详解

但是这肯定是不行的,然后我就开始寻找答案,也根据别人的一些步骤做了下来,后来发现还是有一些问题的,没有办法访问到主页面,虽然吧,一直都没成功,但是我也没放弃,然后就综合了一下问答里面别人说的,进行了几次尝试,最后成功了。(给大家一个小建议:别放弃就好)。

下面的就是我的config/index.js的配置:

// see http://vuejs-templates.github.io/webpack for documentation.
var path = require('path')

module.exports = {
 build: {
  env: require('./prod.env'),
  index: path.resolve(__dirname, '../dist/index.html'),
  assetsRoot: path.resolve(__dirname, '../dist'),
  assetsSubDirectory: 'static',
  assetsPublicPath: './',
  productionSourceMap: true,
  // 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,
  productionGzipExtensions: ['js', 'css'],
  // Run the build command with an extra argument to
  // View the bundle analyzer report after build finishes:
  // `npm run build --report`
  // Set to `true` or `false` to always turn it on or off
  bundleAnalyzerReport: process.env.npm_config_report
 },
 dev: {
  env: require('./dev.env'),
  port: 8080,
  autoOpenBrowser: true,
  assetsSubDirectory: 'static',
  assetsPublicPath: './',
  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
 }
}

可以发现,我就改了两处,就是assetsPublicPath所对应的值,我这里用的是./,我也用webapps下的命的项目名试过,只是没得到我想要的结果,后来我还是改成了./

使用vue-router的情况

当你在项目中使用vue-router的时候,就需要给src/router/index.js添点东西,如下面:

export default new Router({
 mode : 'history',
 base: '/ttms/', //添加的地方
 ...
 }

然后执行npm run dev,将打包后的文件放在Tomcat的目录下的WebApps下的ttms中,然后,就可以访问到了:http://localhost:8080/ttms/

以上就是关于Vue项目webpack打包部署到服务器的实例详解的资料,关于Vue的开发文章本站还很多,希望大家搜索参阅,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
javascript XMLHttpRequest对象全面剖析
Apr 24 Javascript
基于JavaScript 数据类型之Boolean类型分析介绍
Apr 19 Javascript
探讨JavaScript标签位置的存放与功能有无关系
Jan 15 Javascript
使用JQuery中的trim()方法去掉前后空格
Sep 16 Javascript
js基础之DOM中元素对象的属性方法详解
Oct 28 Javascript
预防网页挂马的方法总结
Nov 03 Javascript
工厂模式在JS中的实践
Jan 18 Javascript
js 用于检测类数组对象的函数方法
May 02 Javascript
AngularJS中的作用域实例分析
May 16 Javascript
ionic+html5+API实现双击返回键退出应用
Sep 17 Javascript
解决包含在label标签下的checkbox在ie8及以下版本点击事件无效果兼容的问题
Oct 27 Javascript
解决Vue watch里调用方法的坑
Nov 07 Javascript
JS中Safari浏览器中的Date
Jul 17 #Javascript
Vue.extend构造器的详解
Jul 17 #Javascript
原生js实现密码输入框值的显示隐藏
Jul 17 #Javascript
extjs简介_动力节点Java学院整理
Jul 17 #Javascript
jQuery Autocomplete简介_动力节点Java学院整理
Jul 17 #jQuery
jQuery Pagination分页插件_动力节点Java学院整理
Jul 17 #jQuery
jQuery Form插件使用详解_动力节点Java学院整理
Jul 17 #jQuery
You might like
php实现jQuery扩展函数
2009/10/30 PHP
php将url地址转化为完整的a标签链接代码(php为url地址添加a标签)
2014/01/17 PHP
使用php伪造referer的方法 利用referer防止图片盗链
2014/01/20 PHP
php中count获取多维数组长度的方法
2014/11/03 PHP
Laravel框架用户登陆身份验证实现方法详解
2017/09/14 PHP
php workerman定时任务的实现代码
2018/12/23 PHP
tp5框架基于ajax实现异步删除图片的方法示例
2020/02/10 PHP
限制文本字节数js代码
2007/03/06 Javascript
javascript函数中的arguments参数
2010/08/01 Javascript
使用jquery读取html5 localstorage的值的方法
2013/01/04 Javascript
深入解析contentWindow, contentDocument
2013/07/04 Javascript
JS Date函数整理方便使用
2013/10/23 Javascript
原生js模拟淘宝购物车项目实战
2015/11/18 Javascript
JS+CSS实现的漂亮渐变背景特效代码(6个渐变效果)
2016/03/25 Javascript
jQuery常用的一些技巧汇总
2016/03/26 Javascript
jQuery插件ajaxFileUpload异步上传文件
2016/10/19 Javascript
Angularjs 设置全局变量的方法总结
2016/10/20 Javascript
video.js使用改变ui过程
2017/03/05 Javascript
js canvas实现适用于移动端的百分比仪表盘dashboard
2017/07/18 Javascript
vue实现留言板todolist功能
2017/08/16 Javascript
webpack2.0配置postcss-loader的方法
2017/08/17 Javascript
基于vue.js组件实现分页效果
2018/12/29 Javascript
解决vue更新路由router-view复用组件内容不刷新的问题
2019/11/04 Javascript
python cx_Oracle模块的安装和使用详细介绍
2017/02/13 Python
解决python使用open打开文件中文乱码的问题
2017/12/29 Python
Python实现的微信红包提醒功能示例
2019/08/22 Python
手把手教你进行Python虚拟环境配置教程
2020/02/03 Python
基于Python爬取fofa网页端数据过程解析
2020/07/13 Python
python tqdm实现进度条的示例代码
2020/11/10 Python
Python接口自动化测试框架运行原理及流程
2020/11/30 Python
html5 touch事件实现触屏页面上下滑动(二)
2016/03/10 HTML / CSS
世界上最好的野生海鲜和有机食品:Vital Choice
2020/01/16 全球购物
村创先争优活动总结
2014/08/28 职场文书
2014年校长工作总结
2014/12/11 职场文书
少儿励志名言(80句)
2019/08/14 职场文书
探讨Java中的深浅拷贝问题
2021/06/26 Java/Android