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如何获取当前url中的参数值并复制给input
Jun 23 Javascript
setInterval与clearInterval的使用示例代码
Jan 28 Javascript
JQuery ztree 异步加载实例讲解
Feb 25 Javascript
BootStrap Progressbar 实现大文件上传的进度条的实例代码
Jun 27 Javascript
Java  Spring 事务回滚详解
Oct 17 Javascript
微信小程序 教程之列表渲染
Oct 18 Javascript
ES6中的箭头函数实例详解
Apr 06 Javascript
jquery动态添加以及遍历option并获取特定样式名称的option方法
Jan 29 jQuery
微信小程序使用for循环动态渲染页面操作示例
Dec 25 Javascript
vue实现一拉到底的滑动验证
Jul 25 Javascript
微信小程序获取复选框全选反选选中的值(实例代码)
Dec 17 Javascript
js+css3实现炫酷时钟
Aug 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
SONY SRF-40W电路分析
2021/03/02 无线电
超级实用的7个PHP代码片段分享
2012/01/05 PHP
php实现压缩多个CSS与JS文件的方法
2014/11/11 PHP
浅谈PHP链表数据结构(单链表)
2016/06/08 PHP
PHP入门教程之字符串处理技巧总结(转换,过滤,解析,查找,截取,替换等)
2016/09/11 PHP
记录一次排查PHP脚本执行卡住的问题
2016/12/27 PHP
PHP simplexml_load_string()函数实例讲解
2019/02/03 PHP
laravel5.6框架操作数据curd写法(查询构建器)实例分析
2020/01/26 PHP
JavaScript聚焦于第一个字段的代码
2010/10/15 Javascript
javascript string字符串优化问题
2011/07/31 Javascript
js实现在页面上弹出蒙板技巧简单实用
2013/04/16 Javascript
jquery 无限级下拉菜单的简单实现代码
2014/02/21 Javascript
在windows上用nodejs搭建静态文件服务器的简单方法
2016/08/11 NodeJs
各种选择框jQuery的选中方法(实例讲解)
2017/06/27 jQuery
Angular2关于@angular/cli默认端口号配置的问题
2017/07/15 Javascript
JS实现留言板功能[楼层效果展示]
2017/12/27 Javascript
JS基于设计模式中的单例模式(Singleton)实现封装对数据增删改查功能
2018/02/06 Javascript
angular4+百分比进度显示插件用法示例
2019/05/05 Javascript
在vue中使用axios实现post方式获取二进制流下载文件(实例代码)
2019/12/16 Javascript
[00:27]DOTA2战队VP、Secret贺新春
2018/02/11 DOTA
python列表的常用操作方法小结
2016/05/21 Python
深入理解python中的闭包和装饰器
2016/06/12 Python
Python3.5基础之NumPy模块的使用图文与实例详解
2019/04/24 Python
Python Flask框架扩展操作示例
2019/05/03 Python
Python常用GUI框架原理解析汇总
2020/12/07 Python
HTML5全屏(Fullscreen)API详细介绍
2015/04/24 HTML / CSS
HTML5获取当前地理位置并在百度地图上展示的实例
2020/07/10 HTML / CSS
Spartoo芬兰:欧洲最大的网上鞋店
2016/08/28 全球购物
应聘编辑自荐信范文
2014/03/12 职场文书
自行车广告词大全
2014/03/21 职场文书
效能风暴心得体会
2014/09/04 职场文书
财务个人年度总结范文
2015/02/26 职场文书
学历证明样本
2015/06/16 职场文书
英语读书笔记
2015/07/02 职场文书
Django实现在线无水印抖音视频下载(附源码及地址)
2021/05/06 Python
《废话连篇——致新手》——chinapizza
2022/04/05 无线电