繁体   English   中英

无法从angular2的查看文件夹中呈现index.html文件

[英]Unable to render index.html file from my view folder in angular2

我正在创建一个MEAN Stack应用程序,其中已在/client文件夹中设置了angular。 我希望当我在/client文件夹中运行npm start命令时,它应该从/views文件夹中呈现index.html文件,这是我做错的错误

Cannot GET /

文件夹结构如下。

MeanApp

-----客户端(此处安装了angluar2,但没有index.html文件)

----------应用

-----意见

---------- index.html

-----路线

----- server.js

server.js中的代码

var express = require("express");
var path = require("path");
var bodyParser = require("body-parser");

var index =  require('./routes/index');
var tasks = require("./routes/tasks");

var app = express();

//View engines

app.set("views", path.join(__dirname,'views'));

app.set("view engine", 'ejs');

app.engine("html", require("ejs").renderFile);

//Set static folder

app.use(express.static(path.join(__dirname,'client')));

// Body parser

app.use(bodyParser.json());

app.use(bodyParser.urlencoded({extended:false}));

app.use('/', index);

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

app.use('/api', tasks);

//listen

app.listen(3000, function(){

    console.log("Server listing @ 3000");

});

在这里,您需要为快递服务器定义路由,例如:

app.set('appPath', 'client'); //this is a folder where your index.html is

app.route('/*')
    .get(function(req, res) {
      res.sendfile(app.get('appPath') + '/index.html');
    });

这将导致浏览器中的每个调用都呈现索引文件。

const http = require('http');
fs = require('fs');
var express = require('express');
var bodyParser = require('body-parser');
var expressValidator = require('express-validator');
var app = express();

app.set('appPath', 'views');
app.use(express.static(__dirname + '/views'));

app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
app.use(expressValidator());

app.use('/*', function(req, res, next) {
    res.sendfile(app.get('appPath') + '/index.html');
});

http.createServer(app).listen(3001, function() {
    console.log(`Express server listening on port 3001`);
});

exports = module.exports = app;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM