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 学习笔记之一jQuery写法图片等比缩放以及预加载
Jun 28 Javascript
js 获取后台的字段 改变 checkbox的被选中的状态 代码
Jun 05 Javascript
用jquery等比例控制图片宽高的具体实现
Jan 28 Javascript
使用jquery组件qrcode生成二维码及应用指南
Feb 22 Javascript
深入剖析javascript中的exec与match方法
May 18 Javascript
12306 刷票脚本及稳固刷票脚本(防挂)
Jan 04 Javascript
Bootstrap表单简单实现代码
Mar 06 Javascript
使用openSpeDiv方法实现Ecshop登录弹窗框效果
Mar 13 Javascript
JavaScript模板引擎原理与用法详解
Dec 24 Javascript
详解vue2.0模拟后台json数据
May 16 Javascript
Vue 实现从文件中获取文本信息的方法详解
Oct 16 Javascript
springboot+vue实现文件上传下载
Nov 17 Vue.js
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中uploaded_files函数使用方法详解
2011/03/09 PHP
Smarty的配置与高级缓存技术分享
2012/06/05 PHP
php使用imagick模块实现图片缩放、裁剪、压缩示例
2014/04/17 PHP
php 多个变量指向同一个引用($b = &$a)用法分析
2019/11/13 PHP
Jquery 一次处理多个ajax请求的代码
2011/09/02 Javascript
JQuery 控制内容长度超出规定长度显示省略号
2014/05/23 Javascript
基于jQuery创建鼠标悬停效果的方法
2015/03/07 Javascript
jQuery实现锚点scoll效果实例分析
2015/03/10 Javascript
使用Raygun来自动追踪AngularJS中的异常
2015/06/23 Javascript
JavaScript缓冲运动实现方法(2则示例)
2016/01/08 Javascript
div实现自适应高度的textarea实现angular双向绑定
2017/01/08 Javascript
详解vue 中使用 AJAX获取数据的方法
2017/01/18 Javascript
jQuery使用EasyUi实现三级联动下拉框效果
2017/03/08 Javascript
js简易版购物车功能
2017/06/17 Javascript
微信小程序实现下拉刷新和轮播图效果
2017/11/21 Javascript
基于element-ui组件手动实现单选和上传功能
2018/12/06 Javascript
Vue.extend实现挂载到实例上的方法
2019/05/01 Javascript
浅谈微信小程序列表埋点曝光指南
2019/10/15 Javascript
Vue实现随机验证码功能
2020/12/29 Vue.js
django model去掉unique_together报错的解决方案
2016/10/18 Python
Python3安装Scrapy的方法步骤
2017/11/23 Python
Python 实现使用dict 创建二维数据、DataFrame
2018/04/13 Python
Python小工具之消耗系统指定大小内存的方法
2018/12/03 Python
python实现kNN算法识别手写体数字的示例代码
2019/08/16 Python
Keras模型转成tensorflow的.pb操作
2020/07/06 Python
CSS3中的@keyframes关键帧动画的选择器绑定
2016/06/13 HTML / CSS
Canvas与Image互相转换示例代码
2013/08/09 HTML / CSS
初中生期末考试的自我评价
2013/12/17 职场文书
初二政治教学反思
2014/01/12 职场文书
机电一体化专业求职信
2014/07/22 职场文书
小学生运动会通讯稿
2014/09/23 职场文书
客服专员岗位职责
2015/02/10 职场文书
退休教师追悼词
2015/06/23 职场文书
七一表彰大会简报
2015/07/20 职场文书
python疲劳驾驶困倦低头检测功能的实现
2022/04/04 Python
PostgreSQL 插入INSERT、删除DELETE、更新UPDATE、事务transaction
2022/04/12 PostgreSQL