所以我对网络开发还很陌生,现在我和我更加面向网络的朋友开始了一个项目,他向我扔了各种各样的框架。我们正在做 Vuejs、jade、stylus 和 jeet。对于新手来说,这当然非常令人困惑,因为没有 Vuejs 示例使用 jade,没有 jade 示例使用 vuejs 等等。
然而,对于这个项目,我们需要一个可以处理对 Google 地图的 api 调用、保存内容等的后端。我们都没有这样做的经验,我尝试用 Rust 构建它,并让它与 api 部分一起工作,但我无法无法提供文件服务,导致我们尝试使用 http 服务器提供文件服务,然后从客户端对 Rust 后端进行 api 调用。这导致了问题,因为我们必须执行 CORS 请求(?),但我没有开始工作。
抱歉,背景很长,这一切都归结为一个问题:如何提供静态文件,同时能够对 Google 地图进行 api 调用并将内容存储在数据库中?我发现的所有示例似乎都假设您正在使用模板来生成提供给最终用户的文件?
我该如何解决这个问题?我的朋友已经完成了大部分前端工作,只需使用 npm 包“http-server”即可工作
重要的部分在 app.js 文件中,确保您的服务器路由在顶部定义,然后客户端构建静态文件,如下所示。
var express = require('express');
var bodyParser = require('body-parser');
const path = require('path');
// put server express routes at the beginning //
var app = express();
var router = require('./routes')();
app.use('/api', router);
// put server express routes at the beginning //
//Serve the static files from the React app
app.use(express.static(path.join(__dirname, '/../build')));
// Handles any requests that don't match the ones above
app.get('*', (req,res) =>{
console.log(res);
res.sendFile(path.join(__dirname+'/../build/index.html'));
});
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
var port = process.env.port || 3300
app.listen(port, () => {
console.log("Hi This port is running");
});
app.get('/', function(req, res){
if(req.session){
console.log(req.session);
}
console.log('ok');
});
也在 package.json 文件中,
添加代理以路由它
"proxy": "http://localhost:3300",
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)