本文最后更新于 128 天前,其中的信息可能已经有所发展或是发生改变。
npm install cors --save
,在app.js文件中使用var cors = require('cors'); app.use(cors());
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后台接口域名;
}
与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();
}
});
不需要创建vue.config.js文件,直接使用npm run build
进行打包,并把打包后的dist文件夹上传到服务器上。
在打包前需要配置一下axios的默认请求地址,地址是你的后台项目的映射,比如我的就是
http://backqianlixun.likepoems.com
OK 部署完成