webpack 和后台结合的问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dantegg
V2EX    Node.js

webpack 和后台结合的问题

  •  
  •   dantegg 2016-06-21 09:28:08 +08:00 11899 次点击
    这是一个创建于 3431 天前的主题,其中的信息可能已经有所发展或是发生改变。
    后台是 java/tomcat
    那整个项目部署时 webpack 打包好的项目应该如何和后台结合?
    起一个 webpack-dev-server 跑 webpack 的项目再起一个 tomcat 跑后台?
    (不一定是webpack-dev-server,意思就是同时起两个端口的两个服务,然后再通过webpack.config.js配置解决跨域问题?)
    新手小白求大大们解答
    18 条回复    2016-06-22 14:34:16 +08:00
    murmur
        1
    murmur  
       2016-06-21 09:35:25 +08:00
    webpack 生成 jsp 么?
    learnshare
        2
    learnshare  
       2016-06-21 10:04:55 +08:00   1
    前后端分离的,服务器也分离好了,部署的时候用 Nginx 区分两个不同的服务
    magicdawn
        3
    magicdawn  
       2016-06-21 10:17:36 +08:00   1
    webpack dev server

    dev server 开发啊 ... 完成之后, 只要不做 server side render. 前端开发结果不都是静态文件么...结合呗...
    hxtheone
        4
    hxtheone  
       2016-06-21 10:21:58 +08:00   1
    生产环境部署的时候直接打包成一个 js 文件了吧, 直接放到站点的 public 目录或者 cdn 上

    开发的时候, 官方的建议就是你想的那样, webpack-dev-server 和本来的后端 server 各起一个

    You may want to run a backend server or a mock of it in development. You should not use the webpack-dev-server as a backend. Its only purpose is to serve static (webpacked) assets.

    You can run two servers side-by-side: The webpack-dev-server and your backend server.

    ref: https://webpack.github.io/docs/webpack-dev-server.html#combining-with-an-existing-server
    crysislinux
        5
    crysislinux  
       2016-06-21 10:26:30 +08:00   1
    你是说前端代码怎么在开发时请求后端的 API 么?

    这种情况我一般是用 webpack-dev-middleware 新建了一个 express 应用,前端发到 webpack 所在 express 应用的请求会被转发到后端所在的端口。简单的说就是: localhost:3001/api/users 会被转到 localhost:3002/api/users 。

    webpack-dev-server 也可以通过配置达到转发的目的,另外写的目的是为了更灵活一些,我可以自定义一些转发方案, webpack-dev-server 的 proxy 配置还蛮 tricky 的。。
    murmur
        6
    murmur  
       2016-06-21 10:33:48 +08:00   1
    如果做好分布式部署的打算一开始就做 jsonp 或者设置 cross-region 么 干嘛要转发呢...
    lz 消失了?你这个项目什么架构的, java 只提供 json 数据前端纯静态?
    dantegg
        7
    dantegg  
    OP
       2016-06-21 10:50:43 +08:00
    @murmur 没有消失,看了上面各层回复,在理解尝试中,
    java 提供 json ,没打算分布式,
    dantegg
        8
    dantegg  
    OP
       2016-06-21 10:51:21 +08:00
    xieguanglei
        9
    xieguanglei  
       2016-06-21 11:02:47 +08:00
    html 仍然由 express 输出,只引 dev-server 上的 js 资源(部署时换成 CDN 的),可以避免跨域。
    xieguanglei
        10
    xieguanglei  
       2016-06-21 11:03:28 +08:00
    html 仍然由 java 输出。。。
    Tankpt
        11
    Tankpt  
       2016-06-21 12:04:22 +08:00 via iPhone
    刚好也有类似的问题
    vagary
        12
    vagary  
       2016-06-21 12:41:36 +08:00
    dev 的话 试试 dora 的 proxy
    dantegg
        13
    dantegg  
    OP
       2016-06-21 13:58:26 +08:00
    @xieguanglei 可以理解为把 bundle.js 放到 cdn 上?
    TerranC
        14
    TerranC  
       2016-06-21 14:42:51 +08:00
    可以压根就不用 webpack-dev-server 吧,感觉没什么关联两者, webpack 做点 build 的工作就好了,不比一定用那个 web server 啊
    xieguanglei
        15
    xieguanglei  
       2016-06-21 16:50:30 +08:00
    bundle 放在哪里不影响跨域啊 @dantegg
    dantegg
        16
    dantegg  
    OP
       2016-06-22 00:05:07 +08:00
    @xieguanglei 直接放到站点的 public 路径下呗
    Niphor
        17
    Niphor  
       2016-06-22 13:33:51 +08:00
    那就别用 webpack 了啊 ,传统页面用这个感觉是自己找事
    dantegg
        18
    dantegg  
    OP
       2016-06-22 14:34:16 +08:00
    @Niphor 嗯, html , css , js 就够了哦
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5737 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 01:54 PVG 09:54 LAX 17:54 JFK 20:54
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86