项目打包后配置到node服务器
1.将项目进行打包
npm run build项目根目录下会多出一个打包好的由.js .html .css文件组成的dist文件夹,如图

2.搭建node微型服务器
新建文件夹命名"node服务器",npm init进行初始化,起好包名字node-server然后一路回车,目录下多出package.json文件,
npm i express搭建node服务器
3.打包好的项目配置到服务器
在这个新建文件夹根目录下新建static文件夹,再将刚才打包好的dist文件夹下文件放入这个static文件夹,
新建server.js文件,去配置服务器,如图

4.前端开发配置的代理服务器失效
// 将来打包可能会有这几种情况:
// 1. 打包好后,直接给后端,让后端进行静态托管
// 我们发现直接打包放到后端,会导致请求可能会 404 ,原因是没有走代理
// 我们在前端进行开发的时候,代理是 webpack 帮我们进行的,当打包后,是没有这个代理的
// 1.1 如果接口服务器就是静态资源服务器,只需要把 '/api' 删除,请求会自动请求相同域名下的接口
// 1.2 如果接口服务器不是静态资源服务器,需要把 '/api' 修改为真正请求的地址,重新打包,但是这个时候一定会跨域
// 需要让后端做对应的配置转发 -- 至于怎么做,不用管 -- 其实说白了,也只是在静态资源服务器进行 一次代理
在node配置代理服务器,下载中间件
npm i connect-history-api-fallback
然后在server.js中引入和使用这个中间件:
server.js:
const express=require('express')
const { createProxyMiddleware } = require("http-proxy-middleware"); //导入代理服务器
const app=express()
app.use(
"/api",
createProxyMiddleware({
target: "http://192.168.113.249:8081/cms",
changeOrigin: true,
pathRewrite: (path) => path.replace("/api", ""),
})
);
app.use(express.static(__dirname+'/static'))
app.get('/person',(req,res)=>{
res.send({
name:'tom',
age:18
})
})
app.listen(5005,(err)=>{
if(!err) console.log('服务器启动成功了')
})
5.需要在server.js文件配置history中间件来解决前端路由history模式下刷新出现404的局面
(可以在npmjs.com网站搜索connect-history-api-fallback,查看这个中间件,然后回到vscode终端输入下面这个命令安装这个中间件)
npm i connect-history-api-fallback
然后在server.js中引入和使用这个中间件
server.js:
const express=require('express')
const history=require("connect-history-api-fallback"); //导入history中间件
const { createProxyMiddleware } = require("http-proxy-middleware"); //导入代理服务器
const app=express()
app.use(history())
app.use(
"/api",
createProxyMiddleware({
target: "http://192.168.113.249:8081/cms",
changeOrigin: true,
pathRewrite: (path) => path.replace("/api", ""),
})
);
app.use(express.static(__dirname+'/static'))
app.get('/person',(req,res)=>{
res.send({
name:'tom',
age:18
})
})
app.listen(5005,(err)=>{
if(!err) console.log('服务器启动成功了')
})
6.在终端运行node .\server.js开启服务器,然后浏览器输入localhost:5005打开项目
项目打包后配置到node服务器的更多相关文章
- vue项目打包后,自由修改配置如接口地址等
背景描述: 项目打包后,如果想更换接口域名或者项目名称,就需要再次打包.但是这样子操作有点耗费时间.如果把这些配置写到一个文件中,然后在index.html文件中引入使用,这样子会大大提高工资效率,节 ...
- vue+webpack项目打包后背景图片加载不出来问题解决
在做VUE +的WebPack脚手架项目打包完成后,在IIS服务器上运行发现项目中的背景图片加载不出来检查项目代码发现是因为CSS文件中,背景图片引用的路径问题;后来通过修改配置文件,问题终于解决了, ...
- vue项目打包文件配置(vue-clli3)
练手项目完结打包的时候遇到一些问题,特此记录 先贴我的vue.config.js文件的代码(vue-cli3构建的项目默认是没有此文件的,需手动添加)更多详细配置参考官方配置文档,我的项目不大不小,这 ...
- vue项目打包后想发布在apache www/vue 目录下
使用的是vue-element-admin做示例,可以参考Vue项目根据不同运行环境打包项目,其他项目应该大同小异. 使用vue-router的browserHistory模式,配置mode: 'hi ...
- vue项目打包后运行报错400如何解决
昨天一个Vue项目打包后,今天测试,发现无论localhost还是服务器上都运行不了,报错如下: Failed to load resource: the server responded with ...
- react项目打包后点击index.html页面出现空白
当本地打包后的文件,直接通过文件路径访问,出现空白或者,提示打包后的build内的js,css文件路径错误,有以下两种方式 方式一(无网络限制的情况下使用): 1.全局安装serve启动本地服务: n ...
- C#项目打包后安装的桌面快捷方式图标怎么设置成自己想要的图标
#项目打包后安装的桌面快捷方式图标怎么设置成自己想要的图标 2012-08-25 09:11匿名 | 浏览 3286 次 C#编程 C#项目用vs2005自带的工具打包后安装的桌面快捷方式图标怎么设 ...
- SpringBoot 项目打包后获取不到resource下资源的解决
SpringBoot 项目打包后获取不到resource下资源的解决 在项目中有几个文件需要下载,然后不想暴露真实路径,又没有CDN,便决定使用接口的方式来获取文件.最初的时候使用了传统的方法来获取文 ...
- vue项目打包后资源相对引用路径的和背景图片路径问题
vue项目中若要使用相对路径来获得相应静态资源,需要修改以下内容来确保项目打包后能正常运行. 1.修改config => index.js => build => assetsPub ...
- vue项目打包后的文件如何在本地访问
你是不是一直存在个困惑?vue项目build出来的dist文件夹下index.html直接点开始控制台一顿报错.今天咱就给他治服. 解决方案就是本地启动一个node服务.详细步骤如下: 创建项目 np ...
随机推荐
- SDN实验环境配置
- el-select的正确用法
下拉框应该是大家非常常用的一个组件,表单几乎离不开它,可是用了三年后我突然发现我一直没有正确的使用它..... ElementUI 组件一直让我纠结的地方是 绑定的值对我来说经常需要绑定值的其他字段信 ...
- 关于Windows10纯净启动的相关修改流程
关于纯净启动的相关流程 自动登录 打开命令提示符运行control userpasswords2后回车 在弹出的用户账户窗口中,取消勾选"要使用本计算机,用户必须输入用户名和密码" ...
- 关于proTable设置列固定,始终没有固定的效果的原因
使用proTable设置操作列固定 const columns: ProColumns<IssueItem>[] = [ { title: '操作', valueType: 'option ...
- Sleuth 使用
sleuth是spring cloud中日志链(调用链解决方案),自动添加traceId,spanId. sleuth包也可单独引入,和其它藕合度小.sleuth + zipkin 实现APM管理. ...
- hydra暴力破解各种服务
hydra 在爆破工具中,hydra可是数一数二的存在,是著名黑客组织thc开发的一款开源的暴力密码破解工具,可以在线破解多种密码 参数 作用 -l 指定用户名 -p 指定密码 -L 指定用户字典 - ...
- Less2-数字型注入
1.判断注入类型 测试:http://localhost/sqli-labs-master/Less-2/index.php?id=1和http://localhost/sqli-labs-maste ...
- Mybatis数据库驱动
Mybatis数据库驱动 最近在学习mybatis的源码,有一个databaseIdProvider根据不同数据库执行不同sql的功能,我正好有一个mysql还有一个瀚高数据库,就去试了一下,使用如下 ...
- day10-SpringBoot的异常处理
SpringBoot异常处理 1.基本介绍 默认情况下,SpringBoot提供/error处理所有错误的映射,也就是说当出现错误时,SpringBoot底层会请求转发到/error这个映射路径所关联 ...
- 本地搭建Stable-Diffusion 教程
前置条件 有一些python的基础 会使用git 有梯子(最好可以全局代理) Windows系统 + 英伟达1060以上显卡 (mac或者linux 以及电脑是AMD显卡,安装的话,可以自行搜索相关教 ...