一尘不染

nodejs连接找不到静态

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

有想法吗?谢谢。


阅读 318

收藏
2020-07-07

共1个答案

一尘不染

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'),
    serveStatic = require('serve-static');

var app = connect();

app.use(serveStatic("../angularjs"));
app.listen(5000);
2020-07-07