Nodejs connect не может найти статический
ПРИМЕЧАНИЕ. Я пробовал другое решение, данное здесь, но это не сработало
Новичок с NodeJs. Я пытаюсь следовать за AngularJS pro и застрял в настройке сервера NodeJs. Согласно книге, я установил nodejs, а затем установил пакет подключения, используя
npm install connect
затем загрузите angularjs в папку рядом с папкой nodejs. Затем написал файл server.js для подключения к серверу. Вот содержание файла:
var connect = require('connect');
connect.createServer(connect.static("../angularjs")).listen( 5000);
Когда я запускаю этот файл server.js, используя:
node server.js
Я получаю следующую ошибку:
function app(req, res, next){ app.handle(req, res, next); }
merge(app, proto);
merge(app, EventEmitter.prototype);
app.route = '/';
app.stack = [];
return app;
has no method 'static'
at Object.<anonymous> (C:\web\nodejs\server.js:2:36)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:906:3
Любые идеи парней?
Спасибо.
Ответы
Ответ 1
Пакет подключений внес некоторые изменения в последнюю версию своей базы кода 3.x, перемещая промежуточное программное обеспечение static
в собственный пакет. Вы можете просмотреть список пакетов, которые были перемещены здесь.
Итак, у вас есть два варианта:
Вариант 1
Вы можете установить более старую версию 2.x и использовать ее как:
$npm install [email protected]
Установка последней версии 2.X.X позволит вашей текущей реализации правильно функционировать.
Вариант 2
Вы можете продолжить использовать 3.x версию подключения, а также добавить serve-static
:
$npm install serve-static
Вам также необходимо обновить файл server.js
, чтобы включить новый модуль serve-static
:
var connect = require('connect'),
serveStatic = require('serve-static');
var app = connect();
app.use(serveStatic("../angularjs"));
app.listen(5000);
Ответ 2
Ответ на dylants полезен. Однако здесь приведены точные шаги, которые я выполнил, чтобы разрешить ту же ошибку.
1. Из командной строки смените каталог на каталог, в котором вы установили nodeJS.
2. После того, как вы уже выполнили npm install connect, запустите:
npm install serve-static
3. Создайте файл с именем server.js со следующим кодом:
var connect = require('connect'),
serveStatic = require('serve-static');
var app = connect();
app.use(serveStatic("./angularjs"));
app.listen(5000);
-
Пока все еще в окне команд и еще в каталоге, в котором вы установили nodeJS, запустите:
node server.js
-
Перейдите к URL-адресу
http://localhost:5000/test.html
Это должно сработать. Вот моя конфигурация каталога:
C:\NodeJSInstallLocation\angularjs
Ответ 3
var connect = require('connect'),
serveStatic = require('serve-static');
connect().use(
serveStatic("angularjs")
).listen(5000);
Ответ 4
Возможно, вы захотите попробовать что-то вроде этого
var express = require('express');
var app = express();
app.use(express.static('angularjs'));