Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript node.js中的几个问题_Javascript_Node.js - Fatal编程技术网

Javascript node.js中的几个问题

Javascript node.js中的几个问题,javascript,node.js,Javascript,Node.js,//Server.js var http = require('http'); var path = require('path'); var fs = require('fs'); http.createServer(function (request, response) { console.log('request starting...'); var filePath = '.' + request.url; if (filePath == './')

//Server.js

var http = require('http');
var path = require('path');
var fs = require('fs');

http.createServer(function (request, response) {

    console.log('request starting...');

    var filePath = '.' + request.url;
    if (filePath == './')
        filePath = './index.html';

    path.exists(filePath, function(exists) {

        if (exists) {
            fs.readFile(filePath, function(error, content) {
                if (error) {
                    response.writeHead(500);
                    response.end();
                }
                else {
                    response.writeHead(200, { 'Content-Type': 'text/html' });
                    response.end(content, 'utf-8');
                }
            });
        }
        else {
            response.writeHead(404);
            response.end();
        }
    });

}).listen(8125);

console.log('Server running at http://127.0.0.1:8125/');
//index.html

<html>
    <head>
        <title>Rockin' Page</title>
        <link type="text/css" rel="stylesheet" href="style.css" />
        <script type="text/javascript" src="jquery-1.7.1.min.js"></script>   
        </head>
    <body>
        <p>This is a page. For realz, yo.</p>
    </body>
    <script type="text/javascript">
        $(document).ready(function() {
            alert('happenin');
        });
    </script>
</html>

摇摆页
这是一页。真的,哟

$(文档).ready(函数(){ 警觉的(‘发生’); });
我可以运行我的静态页面,但是我有几个问题要问

  • 我下一步做什么?我的意思是发展什么,学习什么?我很困惑。。我与当前Web服务器的区别是什么
  • node.js只是我的Apache Web服务器的替代品
  • 谁能给我解释清楚nodejs的主要目的吗
  • node.js是一个平台(语言、库和解释器),图灵完成,即您可以用它做任何事情。最可能的情况是,您需要一个以某种方式交互的web应用程序。看看下面的例子。还有


    最后,你想让你的网站成为什么样的网站取决于你自己。聊天室?论坛?搜索引擎?多人游戏?如果您只想传输静态文件(即不需要服务器状态或客户端之间的通信),则无需使用node.js。

    这里是nodejs创建者ryan的一段精彩视频

    它用代码示例解释了它是什么,它真的很好

    下面是一些您可以查看的更多资源


    问题

  • 我下一步做什么?我的意思是发展什么,学习什么?我很困惑。。我与当前Web服务器的区别是什么
  • node.js只是我的Apache Web服务器的替代品
  • 谁能给我解释清楚nodejs的主要目的吗
  • 答案

  • 从一些简单的例子和/或教程开始。我已经打开了Mastering节点,这是一个快速阅读,但仍然是一个正在进行的工作。我使用expressjs快速创建静态网站(比如我的在线简历)。我还使用node.js和nodeunit来测试JavaScript或执行脚本任务,这些任务本来可以在bash、php、batch、perl等中完成

  • js为Google的V8 JavaScript引擎提供了一个IO包装器。这意味着JavaScript不绑定到web浏览器,可以与任何类型的IO交互。这意味着文件、套接字和进程(phihag的图灵完整答案)。它几乎可以做任何事情

  • nodejs的主要用途是IO代码是事件化的,并且(大部分)是非阻塞的。例如,在ASP.NET中,当web服务器接收到一个请求时,该请求的线程将被阻止,直到所有处理完成(除非由异步处理程序处理,这是一个例外而不是规则)。在node.js(express、railwayjs等)中,请求处理由事件和回调处理。代码是异步执行的,回调在完成时执行。这类似于ASP.NET的异步页面,主要区别在于node.js和其上的web框架不会创建数百万个线程。我相信Ryan的视频中讨论了线程问题


  • 有时候我觉得这个社区很奇怪。在一个完全正确的问题上,你有两张反对票和三张反对票。您发布了代码并询问了3个以上的优秀答案,我在开始使用node.js时也考虑了这些问题。所以,+1和投票保持开放,+1代表“你可以用它做任何事”。但是,我认为海报更多的是询问为什么nodejs,而不是让writer's block作为他的web服务器示例。