nodejs连接错误:“没有方法'static'”

66bbxpm5  于 2023-05-17  发布在  Node.js
关注(0)|答案(5)|浏览(139)

NodeJs新手我试图跟随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

注意:我已经尝试了其他解决方案,给出here,但它没有工作
有什么想法吗

u59ebvdq

u59ebvdq1#

connect包在其代码库的最新3.x版本中做了一些更改,将static中间件移动到自己的包中。您可以在此处查看已移动的软件包列表。
所以你有两个选择

选项1

您可以安装旧版本的connect 2.x并按原样使用:
$ npm install connect@2.X.X
安装最新的2.X.X版本将允许您当前的实现正常运行。

选项二

您可以继续使用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);
9avjhtql

9avjhtql2#

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

1.仍然在命令窗口中,并且仍然在安装nodeJS的目录中,运行:
node server.js
1.导航到URL http://localhost:5000/test.html
这个应该能用下面是我的目录配置:C:\NodeJSInstallLocation\angularjs

dbf7pr2w

dbf7pr2w3#

var connect = require('connect'),
    serveStatic = require('serve-static');

connect().use(
    serveStatic("angularjs")
).listen(5000);
bihw5rsg

bihw5rsg4#

你也许想试试这样的

var express = require('express');
var app = express();
app.use(express.static('angularjs'));
35g0bw71

35g0bw715#

试试这个...

const express = require('express');
  const app = express();
  const path = require('path');

  app.use('',express.static(path.join(__dirname, '/static/')));

相关问题