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 相关文章推荐
比较简单的异步加载JS文件的代码
Jul 18 Javascript
一些javascript一些题目的解析
Dec 25 Javascript
JavaScript中对循环语句的优化技巧深入探讨
Jun 06 Javascript
纯JavaScript基于notie.js插件实现消息提示特效
Jan 18 Javascript
jquery分隔Url的param方法(推荐)
May 25 Javascript
JS实现的跨浏览器解析XML文件实例
Jun 21 Javascript
JS结合bootstrap实现基本的增删改查功能
Jul 22 Javascript
微信小程序与php 实现微信支付的简单实例
Jun 23 Javascript
JavaScript程序设计高级算法之动态规划实例分析
Nov 24 Javascript
ReactNative 之FlatList使用及踩坑封装总结
Nov 29 Javascript
JavaScript实现正则去除a标签并保留内容的方法【测试可用】
Jul 18 Javascript
JS实现的tab页切换效果完整示例
Dec 18 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源代码
2006/10/09 PHP
使用 eAccelerator加速PHP代码的方法
2007/09/30 PHP
PHP中常用数组处理方法实例分析
2008/08/30 PHP
PHP从FLV文件获取视频预览图的方法
2015/03/12 PHP
php不使用copy()函数复制文件的方法
2015/03/13 PHP
Symfony2获取web目录绝对路径、相对路径、网址的方法
2016/11/14 PHP
Code:findPosX 和 findPosY
2006/12/20 Javascript
几个有趣的Javascript Hack
2010/07/24 Javascript
40款非常棒的jQuery 插件和制作教程(系列二)
2011/11/02 Javascript
THREE.JS入门教程(4)创建粒子系统
2013/01/24 Javascript
Jquery中"$(document).ready(function(){ })"函数的使用详解
2013/12/30 Javascript
在父页面得到zTree已选中的节点的方法
2015/02/12 Javascript
jQuery多级手风琴菜单实例讲解
2015/10/22 Javascript
jQuery实现为控件添加水印文字效果(附源码)
2015/12/02 Javascript
详解Webwork中Action 调用的方法
2016/02/02 Javascript
Node.JS更改Windows注册表Regedit的方法小结
2017/08/18 Javascript
vue 实现路由跳转时更改页面title
2019/11/05 Javascript
[02:05]2014DOTA2西雅图国际邀请赛 BBC第二天小组赛总结
2014/07/11 DOTA
Python实现HTTP协议下的文件下载方法总结
2016/04/20 Python
Python利用递归和walk()遍历目录文件的方法示例
2017/07/14 Python
对Python中列表和数组的赋值,浅拷贝和深拷贝的实例讲解
2018/06/28 Python
Windows下Anaconda2安装NLTK教程
2018/09/19 Python
OpenCV搞定腾讯滑块验证码的实现代码
2019/05/18 Python
Python从文件中读取指定的行以及在文件指定位置写入
2019/09/06 Python
将tensorflow模型打包成PB文件及PB文件读取方式
2020/01/23 Python
Python基于DB-API操作MySQL数据库过程解析
2020/04/23 Python
Django分组聚合查询实例分享
2020/04/29 Python
初中同学会活动方案
2014/08/22 职场文书
公证委托书标准格式
2014/09/11 职场文书
房产转让协议书(2014版)
2014/09/30 职场文书
2014年党员整改措施
2014/10/24 职场文书
2016大学生形势与政策心得体会
2016/01/12 职场文书
pytorch查看网络参数显存占用量等操作
2021/05/12 Python
python引入其他文件夹下的py文件具体方法
2021/05/23 Python
通过shell脚本对mysql的增删改查及my.cnf的配置
2021/07/07 MySQL
MySQL 条件查询的常用操作
2022/04/28 MySQL