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,但它没有工作
有什么想法吗
5条答案
按热度按时间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
模块:9avjhtql2#
dylants的回答很有帮助。然而,这里是我为了解决同一错误而遵循的确切步骤。1.在命令窗口中,将目录更改为安装nodeJS的目录。2.运行npm install connect后,运行:
3.使用以下代码创建一个名为server.js的文件:
1.仍然在命令窗口中,并且仍然在安装nodeJS的目录中,运行:
node server.js
1.导航到URL http://localhost:5000/test.html
这个应该能用下面是我的目录配置:C:\NodeJSInstallLocation\angularjs
dbf7pr2w3#
bihw5rsg4#
你也许想试试这样的
35g0bw715#
试试这个...