jsp 页面+引入的 vue.js 令人头皮发麻我快窒息了 求救~~ 无论是大佬还是帅哥,帮我看看吧 555

2019-09-19 14:46:17 +08:00
 xiaopengzi
首先有一个 jsp 页面,也配置相关路径 就叫他 one.jsp 吧

这个页面大概长这样:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
<c:set var="root" value="<%=request.getContextPath()%>"></c:set>
<!DOCTYPE html>
<html class="orl">
<head>
<meta charset="UTF-8">
<title>title</title>
<%@include file="/WEB-INF/view/wechat/wxInclude.jsp"%>

</head>
<body>
这里还有 jsp 的东西,
<div id="app">
引入的 vue 引入了路由,做了好几个组件
</div>
<script>
console.log('${root}') //这个打印出来是项目的根径
</script>
各种 js 引入
</body>
</html>

本地调试的时候
我给 vue 的 axios 配置
axios.defaults.baseURL = 'http://127.0.0.1:8087/';
//axios.defaults.baseURL = './';
Vue.prototype.$http = axios;
然后请求
var url = 'jxe/wechat/queryEmployeesByDepartmentId';
this.$http.post(url,{
'id': 492
}).then(function(res){
})

就可以愉快的玩耍了,
那么我现在要上线,

该怎么办了?我犯了什么错么?求打醒 求指导
5010 次点击
所在节点    程序员
18 条回复
azh7138m
2019-09-19 14:52:22 +08:00
> 我犯了什么错么?

语文没学好。
Caballarii
2019-09-19 14:53:02 +08:00
什么问题的不说,解决啥
o0
2019-09-19 14:54:03 +08:00
没用 cli 的话,直接往测试服务器上扔吧。
AreYou0k
2019-09-19 15:49:33 +08:00
应该是替换一下 baseURL 吧
arrow8899
2019-09-19 16:11:40 +08:00
本地怎么运行的?没搞明白你怎么把 jsp 和 vue 文件混在一起的
chenlaocong
2019-09-19 20:21:27 +08:00
我以前也改过 Vue 和 jsp 混合的代码
chenlaocong
2019-09-19 20:22:38 +08:00
你前端可以读取 url 的地址 判断是线上的还是本地的地址,再根据 url 修改请求地址
redbuck
2019-09-19 22:30:22 +08:00
改过.net 的 mvc 模板页面(.cshtml 那种,类似 jsp)

看到一堆编辑器都不认识的语法头都大了。
干脆用 webpack 写了多页构建配置。
每个 entry 生成一个 cshtml,一个对应的 js,cshtml 空荡荡的,只引用一个 layout (后端的框架页面)以及那个 js。
这样我就只要写熟悉的 js,vue,后端模板完全无关。
xiaopengzi
2019-09-20 08:38:03 +08:00
@AreYou0k 敢问老哥,上线得时候 baseURl 换成什么?我可以获取到整个 jsp 所在的项目根目录,因为我也不懂在汤姆猫里上线之后到底是个什么情况,
xiaopengzi
2019-09-20 08:39:19 +08:00
@redbuck 感谢老哥提供的思路,值的研究鼓捣一下
xiaopengzi
2019-09-20 08:41:31 +08:00
@chenlaocong 我昨天下班之后要 baseURL 用 windows.laction 之类的方法,拼了一个完整的地址出来,本地没问题,不知道线上会怎么样,今天试一下
xiaopengzi
2019-09-20 08:58:00 +08:00
@azh7138m 是我没表达清楚 不好意思 老铁,
因为我也可能太大胆了,在公司老旧的 jsp 项目里面引入 vue

(我做的都是只给微信浏览器访问的东西,引入一些 ui 也比较方便,交互写起来简单很多),
所以,这样做可能本身就是一个错
AreYou0k
2019-09-20 09:38:25 +08:00
@xiaopengzi 你可以改成 localhost:8087 或者 0.0.0.0:8087 试试, 实在不行问后台.这个一般是上线后后台或者运维提供的
azh7138m
2019-09-20 10:40:59 +08:00
@AreYou0k baseURL 当然是配置接入层 /服务器地址,这个就是请端发请求的时候用到的

vue 不就是宣称自己 Progressive 吗?你这做法就是它着重处理的场景,其他框架通常不能与上个世纪的技术优雅共存。
azh7138m
2019-09-20 10:41:29 +08:00
@azh7138m 前端发请求
LongMaoz
2019-09-20 11:34:56 +08:00
可能这就是屎山的起源吧
Jie0zero
2019-09-20 14:39:09 +08:00
上线...
baseURL 去掉域名部分就好了,会自动读服务器本地域名的
sadfQED2
2019-09-20 17:31:34 +08:00
@LongMaoz 哈哈哈,下一个接手的人不知道内心什么感受

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/602164

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX