[英]NodeJS - How to write frontend for backend?
編輯:我編輯了整個問題以更精確。
所以我把頭撞在牆上:
服務端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]);
});
那么為什么 app.use(express.static(...)) 部分不起作用? 我試過這樣的事情:
控件.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;
});
};
}]);
但我什至無法得到 console.log("hello") 。 有什么幫助嗎? 如果有人能告訴我如何在不在 server.js 中編寫“app.use(express.static...)”的情況下執行此操作,我將不勝感激。 或者甚至可以在不添加 express.static(或其他任何內容到 server.js)的情況下獲取結果映射?
您可以選擇獨立的獨立前端 Web 應用程序或移動應用程序,它們將使用您的/thingy
API,例如使用 Javascript,您可以使用 $http 調用 API 並獲取數據並顯示在網頁上。 這可以使用 Angularjs 或純 Javascript 和 HTML 進行開發
或者
你可以使用像Pug(Jade)這樣的模板引擎。 使用這種模板,您可以使用res.render(index.pug, {data: result})
渲染 Pug 文件,在index.pug
文件中,您可以訪問從渲染函數傳遞的任何數據。
希望這可以幫助 :)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.