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 相关文章推荐
页面只能打开一次Cooike如何实现
Dec 04 Javascript
JQuery入门——用one()方法绑定事件处理函数(仅触发一次)
Feb 05 Javascript
基于JavaScript实现继承机制之构造函数+原型链混合方式的使用详解
May 07 Javascript
jQuery解决下拉框select设宽度时IE 6/7/8下option超出显示不全
May 27 Javascript
jQuery简单实现图片预加载
Apr 20 Javascript
JavaScript中的getTimezoneOffset()方法使用详解
Jun 10 Javascript
JavaScript之promise_动力节点Java学院整理
Jul 03 Javascript
Vue插值、表达式、分隔符、指令知识小结
Oct 12 Javascript
JavaScript生成随机验证码代码实例
Sep 28 Javascript
vue3实现v-model原理详解
Oct 09 Javascript
vue项目出现页面空白的解决方案
Oct 31 Javascript
Vue 3.0中jsx语法的使用
Nov 13 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
echo(),print(),print_r()之间的区别?
2006/11/19 PHP
用mysql触发器自动更新memcache的实现代码
2009/10/11 PHP
thinkphp的CURD和查询方式介绍
2013/12/19 PHP
ThinkPHP模板判断输出Empty标签用法详解
2014/06/30 PHP
PHP发送短信代码分享
2015/08/11 PHP
PHP数组式访问接口ArrayAccess用法分析
2017/12/28 PHP
AngularJS基础学习笔记之简单介绍
2015/05/10 Javascript
js弹出窗口返回值的简单实例
2016/05/28 Javascript
全面解析JavaScript里的循环方法之forEach,for-in,for-of
2020/04/20 Javascript
基于AngularJS的简单使用详解
2017/09/10 Javascript
Node.js连接Sql Server 2008及数据层封装详解
2018/08/27 Javascript
使用ECharts实现状态区间图
2018/10/25 Javascript
Vue scrollBehavior 滚动行为实现后退页面显示在上次浏览的位置
2019/05/27 Javascript
详解vue中v-bind:style效果的自定义指令
2020/01/21 Javascript
解决vue页面渲染但dom没渲染的操作
2020/07/27 Javascript
[02:32]“虐狗”镜头慎点 2016国际邀请赛中国区预选赛现场玩家采访
2016/06/28 DOTA
详解Python使用simplejson模块解析JSON的方法
2016/03/24 Python
Python合并字典键值并去除重复元素的实例
2016/12/18 Python
python实现自动发送邮件发送多人、群发、多附件的示例
2018/01/23 Python
简单谈谈python基本数据类型
2018/09/26 Python
如何用Python做一个微信机器人自动拉群
2019/07/03 Python
Python Web静态服务器非堵塞模式实现方法示例
2019/11/21 Python
浅谈SciPy中的optimize.minimize实现受限优化问题
2020/02/29 Python
python中查看.db文件中表格的名字及表格中的字段操作
2020/07/07 Python
CSS3中线性颜色渐变的一些实现方法
2015/07/14 HTML / CSS
HTML5: Web 标准最巨大的飞跃
2008/10/17 HTML / CSS
GANT英国官方网上商店:甘特衬衫
2018/02/06 全球购物
新闻专业个人求职信
2013/12/19 职场文书
师德学习感言
2014/01/31 职场文书
面试通知短信
2015/04/20 职场文书
2015年乡镇残联工作总结
2015/05/13 职场文书
夏洛特的网观后感
2015/06/15 职场文书
葬礼主持词
2015/07/02 职场文书
浅谈Nginx 中的两种限流方式
2021/03/31 Servers
小程序实现悬浮按钮的全过程记录
2021/10/16 HTML / CSS
68行Python代码实现带难度升级的贪吃蛇
2022/01/18 Python