2016-11-09 91 views
0

當我運行npm start我正在工作的聚合物應用程序不顯示。命令提示符似乎沒有錯誤。如何正確顯示我的index.html?我正在使用Node.js創建一個RESTful API來調用新聞API並在網頁上顯示新聞。該網頁根本沒有顯示。聚合物網站應用程序與Node.js不顯示頁面

的index.html

<!doctype html> 
<html> 
    <head> 
    <script src="/bower_components/webcomponentsjs/webcomponents.js"/> 
    <link rel="import" href="/bower_components/polymer/polymer.html"> 
    <link rel="import" href="/bower_components/core-icon/core-icon.html"> 
    <link rel="import" href="/bower_components/paper-input/paper-input-decorator.html"> 
    <link rel="import" href="/bower_components/paper-icon-button/paper-icon-button.html"> 
    <link rel="import" href="/bower_components/paper-shadow/paper-shadow.html"> 
    <link rel="import" href="/bower_components/paper-card/paper-card.html"> 
    <link rel="import" href="news-api.html"> 
    </head> 
    <body> 
    <news-api></news-api> 
    </body> 
</html> 

app.js(Node.js的)

var express = require('express'); 
var path = require('path'); 
var favicon = require('serve-favicon'); 
var logger = require('morgan'); 
var cookieParser = require('cookie-parser'); 
var bodyParser = require('body-parser'); 

var index = require('./routes/index'); 
var users = require('./routes/users'); 

var app = express(); 

// view engine setup 
app.set('views', path.join(__dirname, 'views')); 
app.engine('.html', require('ejs').__express); 
//app.engine('html', require('ejs').renderFile); 
app.set('view engine', 'html'); 

// uncomment after placing your favicon in /public 
//app.use(favicon(path.join(__dirname, 'public', 'favicon.ico'))); 
app.use(logger('dev')); 
app.use(bodyParser.json()); 
app.use(bodyParser.urlencoded({ extended: false })); 
app.use(cookieParser()); 
app.use(express.static(path.join(__dirname, 'public'))); 

app.use('/', index); 
app.use('/users', users); 

// catch 404 and forward to error handler 
// app.use(function(req, res, next) { 
// var err = new Error('Not Found'); 
// err.status = 404; 
// next(err); 
// }); 
// 
// // error handler 
// app.use(function(err, req, res, next) { 
// // set locals, only providing error in development 
// res.locals.message = err.message; 
// res.locals.error = req.app.get('env') === 'development' ? err : {}; 
// 
// // render the error page 
// res.status(err.status || 500); 
// res.render('error'); 
// }); 

app.listen(3000); 
module.exports = app; 

index.js(Node.js的)

"use strict"; 

var express = require('express'); 
var NewsAPI = require('newsapi'); 
var router = express.Router(); 

let newsapi = new NewsAPI('MYAPIKEY'); 


/* GET home page. */ 
router.get('/', function(req, res, next) { 
    res.render('index', { title: 'Hello' }); 
}); 

router.get('/trendz_now_global', function(req, res){ 

    // To query articles 
    newsapi.articles({ 
    source: 'bbc-news', // required 
    sortBy: 'top' // optional 
    }).then(articlesResponse => { 
    res.send(articlesResponse); 
    }); 

}); 

module.exports = router; 

編輯:的package.json

{ 
    "name": "trendz", 
    "version": "0.0.0", 
    "private": true, 
    "scripts": { 
    "start": "node app.js" 
    }, 
    "dependencies": { 
    "body-parser": "~1.15.2", 
    "cookie-parser": "~1.4.3", 
    "debug": "~2.2.0", 
    "express": "~4.14.0", 
    "jade": "~1.11.0", 
    "morgan": "~1.7.0", 
    "serve-favicon": "~2.3.0", 
    "newsapi": "~1.0.0", 
    "ejs": "~2.5.2" 
    } 
} 

請原諒我,如果我做了一些愚蠢的錯誤。我剛開始使用Node.js的

工作

File structure

回答

0

你沒有讓你的應用程序聽任何端口。在最後一行上面添加下面的行,然後在npm start之後嘗試http://localhost:3000

希望你在package.json文件的啓動命令中有node app.js

app.listen(3000); 
module.exports = app; 
+0

呃,它不工作...它仍然沒有顯示任何東西。 –

+0

你可以發佈你的package.json文件嗎? – Aruna

+0

當然。感謝您的幫助 –