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获取鼠标点击元素对象(示例代码)
Dec 20 Javascript
JSON.parse()和JSON.stringify()使用介绍
Jun 20 Javascript
angularjs指令中的compile与link函数详解
Dec 06 Javascript
javascript实现密码强度显示
Mar 18 Javascript
JavaScript实现复制内容到粘贴板代码
Mar 31 Javascript
javascript特殊文本输入框网页特效
Sep 13 Javascript
微信小程序 在Chrome浏览器上运行以及WebStorm的使用
Sep 27 Javascript
jQuery实现简单弹窗遮罩效果
Feb 27 Javascript
[js高手之路]设计模式系列课程-发布者,订阅者重构购物车的实例
Aug 29 Javascript
r.js来合并压缩css文件的示例
Apr 26 Javascript
Vue实现textarea固定输入行数与添加下划线样式的思路详解
Jun 28 Javascript
JSON生成Form表单的方法示例
Nov 21 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
第九节--绑定
2006/11/16 PHP
php实现的仿阿里巴巴实现同类产品翻页
2009/12/11 PHP
8个出色的WordPress SEO插件收集
2011/02/26 PHP
TP5(thinkPHP框架)实现后台清除缓存功能示例
2019/05/29 PHP
PHP扩展类型及安装方式解析
2020/04/27 PHP
javascript 类定义的4种方法
2009/09/12 Javascript
jQuery去掉字符串起始和结尾的空格(多种方法实现)
2013/04/01 Javascript
jquery简单的拖动效果实现原理及示例
2013/07/26 Javascript
jQuery的缓存机制浅析
2014/06/07 Javascript
jquery学习总结(超级详细)
2014/09/04 Javascript
Node.js刷新session过期时间的实现方法推荐
2016/05/18 Javascript
关于数据与后端进行交流匹配(点亮星星)
2016/08/03 Javascript
基于BootstrapValidator的Form表单验证(24)
2016/12/12 Javascript
ES6中Proxy代理用法实例浅析
2017/04/06 Javascript
JavaScript实现body内任意节点的自定义属性功能示例
2017/09/18 Javascript
spring+angular实现导出excel的实现代码
2019/02/27 Javascript
微信小程序实现类似微信点击语音播放效果
2020/03/30 Javascript
layui自定义验证,用ajax查询后台是否有重复数据,form.verify的例子
2019/09/06 Javascript
vue路由拦截器和请求拦截器知识点总结
2019/11/08 Javascript
Python中最常用的操作列表的几种方法归纳
2015/04/24 Python
详解Python中的条件判断语句
2015/05/14 Python
Python中logging.NullHandler 的使用教程
2018/11/29 Python
pip安装py_zipkin时提示的SSL问题对应
2018/12/29 Python
python实现维吉尼亚加密法
2019/03/20 Python
如何在Django中使用聚合的实现示例
2020/03/23 Python
Python使用matplotlib绘制圆形代码实例
2020/05/27 Python
python编程的核心知识点总结
2021/02/08 Python
canvas绘制文本内容自动换行的实现代码
2019/01/14 HTML / CSS
html5 worker 实例(一) 为什么测试不到效果
2013/06/24 HTML / CSS
navabi英国:设计师大码女装
2019/06/25 全球购物
Lentiamo比利时:便宜的隐形眼镜
2020/02/14 全球购物
乡镇2014法制宣传日活动总结
2014/11/01 职场文书
2014年语文教师工作总结
2014/12/18 职场文书
2015年教师节慰问信
2015/03/23 职场文书
公司捐书倡议书
2015/04/27 职场文书
Python道路车道线检测的实现
2021/06/27 Python