참고 : 여기에 제공된 다른 솔루션을 시도했지만 작동하지 않았습니다.
NodeJ를 사용하는 초보자. AngularJS pro를 따르려고 노력하고 있으며 NodeJs 서버를 설정하는 데 어려움을 겪었습니다. 책에 따르면 nodejs를 설치 한 다음 npm install connect를 사용하여 connect 패키지를 설치했습니다.
그런 다음 nodejs 폴더 옆의 폴더에 angularjs를 다운로드했습니다. 그런 다음 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
어떤 아이디어가 있습니까? 감사.
답변
연결 패키지는 코드베이스의 최신 3.x 버전에서 일부 변경을 수행하여 static
미들웨어를 자체 패키지로 이동 했습니다. 여기에서 이동 된 패키지 목록을 볼 수 있습니다 .
따라서 두 가지 옵션이 있습니다.
옵션 1
이전 2.x 버전의 connect를 설치하고 그대로 사용할 수 있습니다.
$ npm install@2.XX
최신 2.XX 버전을 설치하면 현재 구현이 제대로 작동 할 수 있습니다.
옵션 2
3.x 버전의 connect를 계속 사용할 수 있으며 다음을 추가 할 수도 있습니다 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);
답변
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를 설치 한 디렉토리에있는 동안 다음을 실행하십시오.
노드 server.js
작동합니다. 내 디렉토리 구성은 다음과 같습니다. C : \ NodeJSInstallLocation \ angularjs
답변
var connect = require('connect'),
serveStatic = require('serve-static');
connect().use(
serveStatic("angularjs")
).listen(5000);
답변
이런 식으로 시도해 볼 수 있습니다.
var express = require('express');
var app = express();
app.use(express.static('angularjs'));
답변
이 시도…
const express = require('express');
const app = express();
const path = require('path');
app.use('',express.static(path.join(__dirname, '/static/')));