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 相关文章推荐
Mootools 1.2教程 Fx.Morph、Fx选项和Fx事件
Sep 15 Javascript
不要在cookie中使用特殊字符的原因分析
Jul 13 Javascript
文本框中禁止非数字字符输入比如手机号码、邮编
Aug 19 Javascript
JQuery实现倒计时按钮具体方法
Nov 14 Javascript
Jquery对象和Dom对象的区别分析
Nov 20 Javascript
JS实现点击复选框将按钮或文本框变为灰色不可用的方法
Aug 11 Javascript
Bootstrap3 内联单选和多选框
Dec 29 Javascript
html+javascript+bootstrap实现层级多选框全层全选和多选功能
Mar 09 Javascript
JQuery事件委托原理与用法实例分析
May 13 jQuery
vue 实现动态路由的方法
Jul 06 Javascript
Vue实现导航栏菜单
Aug 19 Javascript
JS实现简易贪吃蛇游戏
Aug 24 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
全国FM电台频率大全 - 9 上海市
2020/03/11 无线电
一个用php实现的获取URL信息的类
2007/01/02 PHP
WordPress的文章自动添加关键词及关键词的SEO优化
2016/03/01 PHP
php文件上传后端处理小技巧
2016/05/22 PHP
Dojo 学习要点
2010/09/03 Javascript
JavaScript 匿名函数(anonymous function)与闭包(closure)
2011/10/04 Javascript
JSP跨iframe如何传递参数实现代码
2013/09/21 Javascript
jquery插件tooltipv顶部淡入淡出效果使用示例
2013/12/05 Javascript
使用jQuery实现验证上传图片的格式与大小
2014/12/03 Javascript
readonly和disabled属性的区别
2015/07/26 Javascript
深入浅析javascript中的作用域(推荐)
2016/07/19 Javascript
关于微信上网页图片点击全屏放大效果
2016/12/19 Javascript
javascript中replace使用方法总结
2017/03/01 Javascript
Angular2 组件间通过@Input @Output通讯示例
2017/08/24 Javascript
jQuery的Ajax接收java返回数据方法
2018/08/11 jQuery
vue中前进刷新、后退缓存用户浏览数据和浏览位置的实例讲解
2018/09/21 Javascript
微信小程序 简易计算器实现代码实例
2019/09/02 Javascript
浅析TypeScript 命名空间
2020/03/19 Javascript
Webpack3+React16代码分割的实现
2021/03/03 Javascript
举例讲解Python面向对象编程中类的继承
2016/06/17 Python
深入理解NumPy简明教程---数组1
2016/12/17 Python
Python3之读取连接过的网络并定位的方法
2018/04/22 Python
Tesserocr库的正确安装方式
2018/10/19 Python
详解Python_shutil模块
2019/03/15 Python
PyQt QCombobox设置行高的方法
2019/06/20 Python
python实现微信自动回复机器人功能
2019/07/11 Python
使用 Python ssh 远程登陆服务器的最佳方案
2020/03/06 Python
django-xadmin根据当前登录用户动态设置表单字段默认值方式
2020/03/13 Python
html5 canvas 使用示例
2010/10/22 HTML / CSS
合同专员岗位职责
2013/12/18 职场文书
怎样写好自荐信和推荐信
2013/12/26 职场文书
2015毕业寄语大全
2015/02/26 职场文书
出生证明格式
2015/06/15 职场文书
2020年基层司法所建设情况调研报告
2019/11/30 职场文书
golang实现一个简单的websocket聊天室功能
2021/10/05 Golang
JS轻量级函数式编程实现XDM三
2022/06/16 Javascript