使用Node.js包含脚本时出现404 Not Found错误

时间:2015-10-26 17:10:03

标签: html angularjs node.js express

我有节点服务器和html文件,默认情况下路由将被定向。

server.js

/**
 * Created by Nutty Programmer on 10/26/2015.
 */
var express = require('express');
var mysql = require('mysql');
var app = express();
var path = require('path');

/*
 * Configure MySQL parameters.
 */
var connection = mysql.createConnection({
    host : "localhost",
    user : "root",
    password : "",
    database : "two_way_demo"
});

connection.connect(function(error){
    if(error)
    {
        console.log("Problem with MySQL"+error);
    }
    else {
        console.log("Connected with Database");
    }
});

app.get('/',function(req,res){
    res.sendfile('index.html');
    //res.sendFile(path.join(__dirname, '/', 'index.html'));
    //res.sendFile('index.html', { root: path.join(__dirname, '/') });
});

app.get('/load',function(req,res){
    connection.query("SELECT * from user_info",function(err,rows){
        if(err)
        {
            console.log("Problem with MySQL"+err);
        }
        else
        {
            res.end(JSON.stringify(rows));
        }
    });
});

app.listen(3000,function(){
   console.log("Start listening on port 3000");
});

的index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <script src="angular.js"></script>
</head>
<body>
<h1>hello world</h1>
</body>
</html>

当我尝试在html中添加angular.js时。它给出404 Not found错误。

Header:
Remote Address:[::1]:3000
Request URL:http://localhost:3000/angular.js
Request Method:GET
Status Code:404 Not Found

目前的路径应该是什么?

1 个答案:

答案 0 :(得分:2)

如果你想用快递提供静态内容,你需要做类似的事情......

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

其中表示.static的arg是带有静态内容的目录。