将vue+nodejs项目部署到服务器上(完整版)
1、后端使用express生成器
1.1、后台node项目部署
- 在node项目里安装cors依赖(跨域)
npm install cors --save,在app.js文件中使用var cors = require('cors'); app.use(cors()); - 在宝塔面板的wwwroot目录里新建一个文件夹,将node项目上传到这个文件夹中。
- 打开软件商店,安装nginx和pm2管理器
- 在宝塔面板安全和服务器的安全组这里开放后台项目端口
- 打开pm2管理器,添加项目,选择启动文件(如果是express建立的,则选择bin/www)app.js;运行目录选择项目目录;点击提交;
- 点击模块,选择管理,选择一键安装依赖
- 选择项目映射,输入域名(需要在域名解析里),然后提交即可。
1.2、前台vue项目部署
- 配置axios中的默认地址为项目后台的地址
- 在本地vue项目的根目录下创建vue.config.js,代码如下:
module.exports = {
devServer: {
proxy: {
'/api': {
target: "", // node后台接口域名
secure: true, // 如果是https接口,需要配置这个参数
changeOrigin: true, //是否跨域
pathRewrite: {
'^/api': '' //需要rewrite的
}
}
}
}
}
- 在所有的请求地址里添加/api,如:
this.$axios
.get("/api/liuyan")
.then((response) => {
this.commentdata = response.data;
})
.catch((error) => {
console.log("error", error);
}); - 使用npm run build进行项目打包
- 将打包后的dist文件上传到node项目文件所在的文件夹里,打开宝塔面板,打开网站,添加站点,输入域名,根目录选择dist文件夹,提交。
- 打开网站设置,选择配置文件,在 #禁止访问的文件或目录 前添加以下代码:
location / {
try_files $uri $uri/ /index.html;
}
location /api/ {
proxy_pass node后台接口域名;
}
2、后端纯接口(app.js)
2.1 后台node部署
与1.1上面的配置相同,也可以不使用cors模块进行跨域,直接在app.js文件中添加下面的代码:
const app = express();
app.all('*', function (req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", " Origin, X-Requested-With, Content-Type, Accept");
res.header("Access-Control-Allow-Headers","Authorization");
res.header("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");
res.header("X-Powered-By", ' 3.2.1')
//方便返回json
res.header("Content-Type", "application/json;charset=utf-8");
if (req.method == 'OPTIONS') {
//让options请求快速返回
res.sendStatus(200);
} else {
next();
}
});
2.2 前台vue部署
不需要创建vue.config.js文件,直接使用npm run build进行打包,并把打包后的dist文件夹上传到服务器上。
在打包前需要配置一下axios的默认请求地址,地址是你的后台项目的映射,比如我的就是
http://backqianlixun.likepoems.com
OK 部署完成
将vue+nodejs项目部署到服务器上(完整版)的更多相关文章
- 如何把vue.js项目部署到服务器上
如何把vue.js项目部署到服务器上面,我用的是tomcat服务器 1-改一下config/index.js文件,如下图,把assetsPublicPath: './', productionSour ...
- 服务器小白的我,是如何将 node+mongodb 项目部署在服务器上并进行性能优化的
前言 本文讲解的是:做为前端开发人员,对服务器的了解还是小白的我,是如何一步步将 node+mongodb 项目部署在阿里云 centos 7.3 的服务器上,并进行性能优化,达到页面 1 秒内看到 ...
- Springboot 项目部署到服务器上
项目部署到服务器上,有两种方式,一种 jar 包,一种 war 包 jar包 部署时,后续的域名配置,SSL证书等在nginx中配置 war包 部署时,后续的域名配置可以在tomcat中配置就好,修改 ...
- vue-webpack 做出来的项目部署到服务器上,点开是空白页(我这里把项目发布到git上)
总结1: 从网上下的很多demo,用npm run dev 就可以启动项目,比如:vue-cli,为什么?因为vue-cli自动帮我们安装了express服务器. 总结2: npm run dev 是 ...
- 当java web项目部署到服务器上时,无法将图片等媒体文件保存到服务器的最终奥义
今天,我在部署web项目至云服务器上(Tomcat8.0)时,突然发现我的应用,无法上传图片,视频等多媒体文件了,一再检查自己的代码逻辑没有问题之后,逐一排查,首先想到的就是看一下控制台打印的日志,日 ...
- 如何将Java Web项目部署到服务器上
转自:(此处更详细)http://blog.csdn.net/gulu_gulu_jp/article/details/50994003 一.前言 前面我们已经尝过了在云服务器上部署代码的甜头了,现在 ...
- SpringBoot项目部署到服务器上,tomcat不启动该项目
今天lz把项目重新传到服务器上后,重启tomcat遇到个问题,就是这个tomcat怎么都不启动这个项目,别的项目都没事,一番查找后发现问题所在. 我们先建个SpringBoot工程,重现一下问题: 写 ...
- 转《Angular4项目部署到服务器上刷新404解决办法》
刚遇到Angular4项目npm run build 后部署到服务器可以访问,但是刷新页面会出现404的错误!转载一大神的操作 解决angular2页面刷新后报404错误办法: 配置app.modul ...
- laravel本地开发的项目部署到服务器上
不建议用ftp,建议用git.svn等工具从你的开发服务器上拉取.或者使用一些自动构建发布的工具.如果非要用ftp上传,建议用以下步骤: 服务器上安装composer,并使用`composer sel ...
随机推荐
- 统计 Word 文档字数的方式
描述 欲统计某文档的字数,有两种方式. "审阅"选项卡--"校对"组--字符统计 点击左下角字数统计 审阅查看字数 此步骤较为复杂,在审阅选项卡中可以查询文档的 ...
- wallpaperPKG文件提取
简单粗暴 下载这个ZIP文件链接: 下载地址戳我 提取码: ag43 解压后双击打开如下文件 我们在解压一下repkg-master.zip解压后如下,注意我的路径进入到这些很多文件的页面 返回首页复 ...
- 大家都能看得懂的源码 - 那些关于DOM的常见Hook封装(一)
本文是深入浅出 ahooks 源码系列文章的第十四篇,该系列已整理成文档-地址.觉得还不错,给个 star 支持一下哈,Thanks. 上一篇我们探讨了 ahooks 对 DOM 类 Hooks 使用 ...
- KingbaseES 并行查询
背景:随着硬件技术的提升,磁盘的IO能力及CPU的运算能力都得到了极大的增强,如何充分利用硬件资源为运算加速,是数据库设计过程中必须考虑的问题.数据库是IO和CPU密集型的软件,大规模的数据访问需要大 ...
- Nginx location总结
最近操作Nginx.conf 的location部分,发现了一个巨坑,在这做个记录 当我用一下配置时 location = / { root /usr/share/nginx/html; index ...
- FileInputStream字节输入流
FileInputStream字节输入流 编码思想:首相顶一个FileInputStream字节输入流对象,fis设置为nul,在try/catch里面放入FileInputStream字节输入流对象 ...
- 不建议升级windows11的理由
此文写于2022年9月13日,用于警告那些蠢蠢欲动想升级win11的伙伴. win11发布后,最亮眼的功能当然是自带"安卓模拟器",但作为一名程序开发者的我其实是不愿意马上尝鲜的, ...
- haodoop新特性
Hadoop2.x新特性 scp实现两个远程主机之间的文件复制 scp -r hello.txt root@hadoop103:/user/atguigu/hello.txt // 推 push sc ...
- ConcurrentDictionary<T,V> 的这两个操作不是原子性的
好久不见,马甲哥封闭居家半个月,记录之前遇到的一件小事. ConcurrentDictionary<TKey,TValue>绝大部分api都是线程安全且原子性的, 唯二的例外是接收工厂委托 ...
- VUE:引入腾讯地图并实现轨迹动画
腾讯位置服务JavaScript API 效果: 引入步骤: 在 html 中通过引入 script 标签加载API服务 在一个盒子元素 div 中预先准备地图容器,并在CSS样式中定义地图(容器)显 ...