2016-12-15 135 views
0

我正在做一个教程,试图学习Node和Angular。我对此完全陌生,我来自LAMP堆栈环境,所以对我来说这是一个全新的世界,我感到完全失去了。无法加载资源在节点JS

我已经安装角JS和我的HTML文件中包含它,但我不断收到此错误

http://localhost:3000/node_modules/angular/angular.min.js无法加载资源:服务器的状态为回应404(未找到)

http://localhost:3000/app/app.js无法加载资源:服务器与404(未找到)状态回应

编辑:我曾尝试各色一些nt接近,但他们都指向/server/目录。

var appDir = path.dirname(require.main.filename); 
var appDir = path.dirname(process.mainModule.filename); 

这两个都指向/server/目录。

我的文件夹结构如下:

  • /应用
    • app.js
  • /node_modules
  • /服务器

    • 小号erver.js
  • 的index.html

server.js

var express = require('express'); 
var mongoose = require('mongoose'); 
var bodyParser = require('body-parser'); 

var app = express(); 

mongoose.connect('mongodb://localhost:27017/social'); 

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

app.get('/', function(req, res) { 
    res.sendFile("index.html", {root: '../'}); 
}); 

app.listen('3000', function() { 
    console.log('Listening for localhost 3000'); 
}); 

app.js

(function() { 
    angular.module('Social', []); 
}()); 

这是index.html

<!DOCTYPE html> 
<html lang="en" ng-app="Social"> 
<head> 
    <meta charset="UTF-8"> 
    <title>The title</title> 
</head> 
<body> 
    <p>Testing the test</p> 
</body> 

<script src="node_modules/angular/angular.min.js"></script> 
<script src="app/app.js"></script> 
</html> 

回答

0

__dirname是“当前正在执行的脚本所在目录的名称。”这是目录server.js

所以,当你正在做的:

express.static(__dirname + '/app') 

我认为它实际上是寻找/server/app这是不正确的。

+0

我应该用什么来代替? – Halnex

+0

你是对的。这是我的一个错误,我把'server.js'嵌套在'/ server /'目录下,当它应该在根目录下时。把它移到那里,它现在正在工作。 – Halnex