在http://learn.knockoutjs.com/上有一个关于单页应用程序的教程.在第二步,将项目符号列表转换为水平菜单.有人知道如何渲染吗?(也就是说,它是一个纯粹的CSS解决方案,导致它,或者它是使用jQuery UI,还是什么?)我已经查看了页面的来源,看起来有很多自动化继续运行代码演示.我不清楚这是如何工作的,我真的很想知道,因为我试图在我自己的测试应用程序中重现这种方法.很抱歉,如果这是一个完整的新问题,但任何帮助表示赞赏.谢谢
我正在尝试根据Adam Freeman的Apress"Pro JavaScript for Web Apps"中的建议设置Node.我已经在我的Mac(OS 10.6.8)机器上安装了Node(0.10.7)并运行了各种示例,证明Node正在运行,例如
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');
Run Code Online (Sandbox Code Playgroud)
所以我可以从终端启动Node,然后在浏览器中获得"Hello World".到目前为止一切似乎都很好
然后我发出命令来添加本书建议的某些软件包:
npm install node-static jqtpl
Run Code Online (Sandbox Code Playgroud)
这也有效; 它通过HTTP GET命令得到一堆东西,似乎安装它们没有错误.
Adam的示例文件有两个组件:有一个"server.js"文件,还有一个"content"目录,其中包含每章的示例.我的问题似乎与文件和内容目录之间的路径有关,或者,基于谷歌搜索此EACCESS错误,一些权限问题.我尝试了各种配置(将server.js放在我的"dave"目录中,这是我在Mac上的用户目录,还将"content"目录作为"dave"的子目录;这似乎是他想要的从书中的说明;或者,将server.js放在内容目录中;由于路径错误,这似乎不起作用.
在任何情况下,当我将"server.js"放在"dave"目录中时,让"content"也存在于"dave"目录中(实际上,对于server.js驻留在目录中的任何目录,这似乎都是正确的,和内容也驻留在同一个目录中),我明白了:
dave$ node server.js
Ready on port 80
events.js:72
throw er; // Unhandled 'error' event
^
Error: listen EACCES
at errnoException (net.js:884:11)
at Server._listen2 (net.js:1003:19)
at listen (net.js:1044:10)
at Server.listen (net.js:1110:5)
at Object.<anonymous> (/Users/dave/NodeJsTesting/server.js:92:34)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32) …Run Code Online (Sandbox Code Playgroud)