nodejs连接无法find静态

注:我已经尝试了其他的解决scheme在这里给出,但它没有奏效

一个新手与NodeJs。 我正在尝试遵循AngularJS专业版,并与设置NodeJs服务器卡住了。 根据本书,我安装了nodejs,然后使用npm install 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中间件移到它自己的包里。 您可以查看这里移动的软件包列表 。

所以你有两个select:

选项1
你可以安装一个旧的,2.x版本的连接并使用它:

$ npm install connect@2.XX

安装最新的2.XX版本将允许您当前的实现正常运行。

选项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); 

dylants的答案是有帮助的。 不过,这里是我为了解决同样的错误而遵循的确切步骤。 1.在命令窗口中,将目录更改为您安装nodeJS的目录。 2.运行完npm install后,运行:

 npm install serve-static 

3.用以下代码创build一个名为server.js的文件:

 var connect = require('connect'), serveStatic = require('serve-static'); var app = connect(); app.use(serveStatic("./angularjs")); app.listen(5000); 
  1. 仍然在命令窗口中,仍然在安装nodeJS的目录中,运行:

    节点server.js

  2. 导航到URL http:// localhost:5000 / test.html

这应该工作。 这是我的目录configuration: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'));