Я делаю учебник, пытаясь изучить Node и Angular. Я совершенно новичок в этом, я пришел из среды стека LAMP, поэтому для меня это совершенно новый мир, и я чувствую себя полностью потерянным.

Я установил Angular JS и включил его в свой HTML-файл, но продолжаю получать эту ошибку

http: // localhost: 3000 / node_modules / angular / angular.min.js Не удалось загрузить ресурс: сервер ответил статусом 404 (не найден)

http: // localhost: 3000 / app / app.js Не удалось загрузить ресурс: сервер ответили со статусом 404 (не найдено)

РЕДАКТИРОВАТЬ: Я пробовал несколько разных подходов, но все они указывают на каталог /server/.

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

Оба они указывают на каталог /server/.

Структура моих папок следующая:

  • /приложение
      < Li> app.js
  • / node_modules
  • / сервер

    • server.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
Halnex 15 Дек 2016 в 23:09

1 ответ

Лучший ответ

__dirname - это «Имя каталога, в котором находится исполняемый в данный момент скрипт». который является каталогом, в котором находится server.js.

Итак, когда вы делаете:

express.static(__dirname + '/app')

Я думаю, что он действительно ищет /server/app, что неверно.

0
CodingWithSpike 15 Дек 2016 в 23:27
Что я должен использовать вместо этого?
 – 
Halnex
15 Дек 2016 в 23:31
Вы были правы. Это была ошибка с моей стороны, я вложил server.js в каталог /server/, хотя он должен был находиться в корневом каталоге. Перенесли туда и теперь работает.
 – 
Halnex
16 Дек 2016 в 00:07