Node.js连接找不到静态

注意:我已经尝试过此处给出的其他解决方案,但是没有用


NodeJ的新手。我试图跟随AngularJS专业人士,并陷入设置NodeJs服务器。根据书,我安装了nodejs,然后使用npm install connect安装了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

有想法吗?谢谢。


千万里不及你
浏览 707回答 3
3回答

慕妹3146593

connect软件包在其代码库的最新3.x版本中进行了一些更改,将static中间件移至其自己的软件包中。 您可以在此处查看已移动的软件包列表。因此,您有两种选择:选项1您可以安装旧的2.x版本的connect并按原样使用:$ npm安装connect@2.XX安装最新的2.XX版本将使您当前的实现正常运行。选项2您可以继续使用3.x版本的connect,还可以添加serve-static:$ npm install serve-static您还必须更新server.js文件以包括新serve-static模块:var connect = require('connect'),&nbsp; &nbsp; serveStatic = require('serve-static');var app = connect();app.use(serveStatic("../angularjs"));app.listen(5000);

一只萌萌小番薯

dylants的回答很有帮助。但是,以下是我为解决同一错误而执行的确切步骤。1.在命令窗口中,将目录更改为安装nodeJS的目录。2.在运行npm install connect之后,运行:npm install serve-static3.使用以下代码创建一个名为server.js的文件:var connect = require('connect'),serveStatic = require('serve-static');var app = connect();app.use(serveStatic("./angularjs"));app.listen(5000);仍然在命令窗口中,并且仍然在安装nodeJS的目录中,运行:节点server.js导航到URL http:// localhost:5000 / test.html这应该工作。这是我的目录配置:C:\ NodeJSInstallLocation \ angularjs

SMILET

您可能想尝试这样的事情var express = require('express');var app = express();app.use(express.static('angularjs'));
打开App,查看更多内容
随时随地看视频慕课网APP