[英]Polymer web app with Node.js not displaying page
The polymer app that I am working is not being displayed when I run npm start
. 运行
npm start
时未显示我正在使用的聚合物应用程序。 There seem to be no errors on command prompt. 在命令提示符下似乎没有错误。 How do I display my index.html properly?
如何正确显示index.html? I am using Node.js to create a RESTful api to call the news api and the display the news on the web page.
我正在使用Node.js创建一个RESTful api来调用新闻api,并在网页上显示新闻。 The web page is not being displayed at all.
网页根本没有显示。
index.html 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) 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) 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;
EDIT: Package.json 编辑: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"
}
}
Please pardon me if I have made some dumb mistakes. 如果我犯了一些愚蠢的错误,请原谅我。 I just started working with Node.js
我刚刚开始使用Node.js
You haven't let your app listen to any port. 您尚未让您的应用监听任何端口。 Add the below line just above the last line, then try
http://localhost:3000
after npm start
. 在最后一行的上方添加以下行,然后在
npm start
之后尝试http://localhost:3000
。
Hope you have node app.js
in your start command in package.json
file. 希望您在
package.json
文件的启动命令中包含node app.js
app.listen(3000);
module.exports = app;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.