Nodejs中webpack和后台结合的问题
Nodejs中webpack和后台结合的问题
后台是 java/tomcat
那整个项目部署时 webpack 打包好的项目应该如何和后台结合?
起一个 webpack-dev-server 跑 webpack 的项目再起一个 tomcat 跑后台?
(不一定是webpack-dev-server,意思就是同时起两个端口的两个服务,然后再通过webpack.config.js配置解决跨域问题?)
新手小白求大大们解答
webpack 生成 jsp 么?
前后端分离的,服务器也分离好了,部署的时候用 Nginx 区分两个不同的服务
webpack dev server
dev server 开发啊 … 完成之后, 只要不做 server side render. 前端开发结果不都是静态文件么…结合呗…
你是说前端代码怎么在开发时请求后端的 API 么?
这种情况我一般是用 webpack-dev-middleware 新建了一个 express 应用,前端发到 webpack 所在 express 应用的请求会被转发到后端所在的端口。简单的说就是: localhost:3001/api/users 会被转到 localhost:3002/api/users 。
webpack-dev-server 也可以通过配置达到转发的目的,另外写的目的是为了更灵活一些,我可以自定义一些转发方案, webpack-dev-server 的 proxy 配置还蛮 tricky 的。。
如果做好分布式部署的打算一开始就做 jsonp 或者设置 cross-region 么 干嘛要转发呢…
lz 消失了?你这个项目什么架构的, java 只提供 json 数据前端纯静态?
没有消失,看了上面各层回复,在理解尝试中,
java 提供 json ,没打算分布式,
感谢各位
html 仍然由 express 输出,只引 dev-server 上的 js 资源(部署时换成 CDN 的),可以避免跨域。
html 仍然由 java 输出。。。
刚好也有类似的问题
dev 的话 试试 dora 的 proxy
bundle 放在哪里不影响跨域啊
直接放到站点的 public 路径下呗
那就别用 webpack 了啊 ,传统页面用这个感觉是自己找事
嗯, html , css , js 就够了哦
在Node.js项目中,将Webpack与后台结合通常涉及前端资源打包和后端API服务的集成。下面是一个简要的步骤和示例代码展示,帮助你理解这一过程。
步骤:
-
安装依赖: 首先,确保你安装了Node.js和npm。然后,在项目根目录下运行以下命令安装Webpack和相关依赖:
npm install --save-dev webpack webpack-cli webpack-dev-server npm install express body-parser
-
配置Webpack: 创建
webpack.config.js
文件,配置Webpack打包前端资源:const path = require('path'); module.exports = { entry: './src/index.js', output: { filename: 'bundle.js', path: path.resolve(__dirname, 'dist') }, // 其他配置... };
-
设置Express后台: 创建
server.js
文件,设置Express服务器提供API服务,并服务Webpack打包后的静态文件:const express = require('express'); const path = require('path'); const app = express(); app.use(express.static(path.join(__dirname, 'dist'))); app.get('/api/data', (req, res) => res.json({ message: 'Hello from backend!' })); const PORT = process.env.PORT || 3000; app.listen(PORT, () => console.log(`Server is running on port ${PORT}`));
-
运行项目: 使用Webpack开发服务器或手动打包前端资源,并启动Express服务器。
这样,你的Node.js项目就成功地将Webpack打包的前端与后台API服务结合起来了。