gpt4 book ai didi

javascript - 如何编写前端(angularjs)到后端(nodejs)?

转载 作者:行者123 更新时间:2023-11-29 23:26:41 25 4
gpt4 key购买 nike

所以我用这个把头撞在墙上:

SERVER.JS

const express = require('express');
const app = express();
//const app = require('express')();
const cors = require('cors')
const bodyParser = require('body-parser');

app.use(express.static(__dirname + '/public'));
//Enable CORS
app.use(cors());

const polls = [
{
...
}
];

//Enable CORS
app.use((req, res, next) => {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
});

app.use(bodyParser.json());

app.get('/polls', (req, res) => {
let result = {polls:polls.map(function(p){
return {id: p.id, title: p.title};
})};
res.json(result);
});


app.get('/polls/:id', (req, res) => {
let id = req.params.id-1;
res.json(polls[id]);
});

const port = process.env.PORT ? process.env.PORT : 8081;
const server = app.listen(port, () => {
console.log("Server listening port %s", port);
});

那么为什么 app.use(express.static(...)) 部分不工作?我试过这样的事情:

CONTROLLE.JS

var app = angular.module('app',[]);

app.controller('AppCtrl',['$scope','$http',function($scope,$http) {
console.log("hello");


var polls = function() {
$http.get('/polls').then(function(response) {
$scope.result = response;
});
};
}]);

index.html

<!DOCTYPE>
<html>
<head>
<title>myapp</title>
<meta
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>
<script type="text/javascript" src="../server.js"></script>
<script type="text/javascript" src="controller.js"></script>
<script>
</script>
</head>
<body>
<div ng-app="app" ng-controller="AppCtrl">
</div>
</body>
</html>

但我什至不能得到 console.log("hello") 。有什么帮助吗?如果有人能告诉我如何在不在 server.js 中编写 app.use(express.static...) 的情况下执行此操作,我将不胜感激。或者甚至可以在不添加 express.static(或 server.js 的任何其他内容)的情况下获取结果映射?

我如何通过将 node server.js 写入我的 git bash 来让它工作?

最佳答案

所以,这是获得你想要的东西的方法。

  1. 将您的 HTML 文件命名为 index.html
  2. 将其放入 public目录
  3. 将您的 controller.js公共(public)目录中的文件也是
  4. 删除 <script type="text/javascript" src="../server.js"></script>从 index.html 你不希望你的服务器端文件到客户端。
  5. 现在您将访问 localhost:port你应该得到你的index.html文件自动在浏览器中提供,您必须以与调用 /polls 相同的方式从 angularjs Controller 手动调用服务器端的这些 API。

关于javascript - 如何编写前端(angularjs)到后端(nodejs)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48922904/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com