Express.js index.js 404(未找到)

时间:2016-04-04 06:12:14

标签: node.js express

由于某种原因,它无法加载我的index.html引用的index.js脚本。 server.js,index.html和index.js都位于我的项目文件夹的根目录。

server.js

var express = require('express'),
    app = express();

app.set("view options", {layout: false});
app.use(express.static(__dirname + '/public'));
app.set('views', __dirname + '/');
app.engine('html', require('ejs').renderFile);
app.set('view engine', 'html');

app.get('/', function (req, res) {
    res.render('index.html');
});

app.listen(4000, function () {
    console.log('Example app listening on port 4000!');
});

的index.html

<html>
    </head></head>
    <body>
        <div class="ink-grid vertical-space">
            <div id="content">
                <div class="panel vertical-space">
                    <div id="app"/>
                </div>
            </div>
        </div>
        <script type="text/babel" src="index.js"></script>
    </body>
</html>

2 个答案:

答案 0 :(得分:1)

通过查看声明

app.use(express.static(__dirname + '/public'));

您的index.js文件应位于public目录中。

由于index.jsserver.js位于同一目录中,因此请定义

app.use(express.static(.));

答案 1 :(得分:1)

您必须提供这些文件。你可以单独完成它们:

app.get('/index.js', function (req, res) {
    res.sendFile('index.js');
});

或者为您要投放的所有内容创建一个目录(例如www)并使用express.static

app.use(express.static('www'));