簡體   English   中英

NodeJS - 如何為后端編寫前端?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM