首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  程序员

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

  •  
  •   xiaopengzi · 32 天前 · 1817 次点击
    这是一个创建于 32 天前的主题,其中的信息可能已经有所发展或是发生改变。
    首先有一个 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){
    })

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

    该怎么办了?我犯了什么错么?求打醒 求指导
    第 1 条附言  ·  31 天前
    做惯了前后端分离的项目,以前只要打包出来扔到服务器上就完事了,

    现在这在 jsp 里引入 vue.js ,
    最关键的是数据接口都不是向外暴露的(不知道这句话有没有问题?),

    在用 ajax 获取数据的时候,
    对 axios.defaults.baseURL 就不知道怎么操作了,,
    后端也只会说告诉说页面加载不出来,锅扣到我头上,



    18 回复  |  直到 2019-09-20 17:31:34 +08:00
        1
    azh7138m   32 天前
    > 我犯了什么错么?

    语文没学好。
        2
    Caballarii   32 天前
    什么问题的不说,解决啥
        3
    o0   32 天前
    没用 cli 的话,直接往测试服务器上扔吧。
        4
    AreYou0k   32 天前   ♥ 1
    应该是替换一下 baseURL 吧
        5
    arrow8899   32 天前
    本地怎么运行的?没搞明白你怎么把 jsp 和 vue 文件混在一起的
        6
    chenlaocong   32 天前
    我以前也改过 Vue 和 jsp 混合的代码
        7
    chenlaocong   32 天前   ♥ 1
    你前端可以读取 url 的地址 判断是线上的还是本地的地址,再根据 url 修改请求地址
        8
    redbuck   32 天前
    改过.net 的 mvc 模板页面(.cshtml 那种,类似 jsp)

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

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

    vue 不就是宣称自己 Progressive 吗?你这做法就是它着重处理的场景,其他框架通常不能与上个世纪的技术优雅共存。
        15
    azh7138m   31 天前
    @azh7138m 前端发请求
        16
    LongMaoz   31 天前   ♥ 3
    可能这就是屎山的起源吧
        17
    Jie0zero   31 天前   ♥ 1
    上线...
    baseURL 去掉域名部分就好了,会自动读服务器本地域名的
        18
    sadfQED2   31 天前 via Android
    @LongMaoz 哈哈哈,下一个接手的人不知道内心什么感受
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   902 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 28ms · UTC 21:22 · PVG 05:22 · LAX 14:22 · JFK 17:22
    ♥ Do have faith in what you're doing.