如何在Node.js上建立一个网站?

时间:2012-01-01 20:56:11

标签: node.js hosting

经过几年的 PHP 编程,我刚刚开始深入 Node.js ,我想构建一个 Node.js 我的下一个项目的应用程序,但我不知道如何做到这一点。

是否有Node.js快速启动的资源?

提前致谢!

6 个答案:

答案 0 :(得分:30)

您应该将Node.js视为某种Apache + PHP,这意味着您可以使用Node对您的网站和您的网络服务器进行编程。

Node与您的基本PHP有一些重要的区别,它是偶数,异步,非阻塞。你必须学习如何处理回调,不要阻止事件循环和其他事情。

你应该做的是尝试在开始时学习Node的基本内容,这里有一些很棒的资源:https://stackoverflow.com/tags/node.js/info(我最喜欢的是nodetuts.com以及它的作者,手中的优秀书籍在Node上。

在您学习了基础知识之后,如果您的应用专注于实时,您可以找到Express作为网络框架非常有用的Socket.IO

答案 1 :(得分:6)

我认为你正在寻找一个node.js跳转开始用节点构建一些有意义的网页。看看express,这是一个节点Web框架。他们提供了一个很好但很简短的教程(在指南下)。

答案 2 :(得分:4)

您需要在Web服务器上运行Node.js.基本上,您需要一台VPS或专用服务器,您可以完全控制它。 [PHP运行标准的Web服务器,Apache。 Node.js 网络服务器。]

或者您找到了Node.js host,它会为您完成。

答案 3 :(得分:1)

另一种选择是使用类似Knockout.js(http://knockoutjs.com/)的东西,让页面对Node.js服务器进行JSONP调用。使用Node将JSON发送到客户端非常容易,因为它是服务器上的JavaScript。在客户端上使用框架使得基于该JSON数据创建动态页面变得非常容易。

缺点是旧浏览器没有优雅的降级。优势是一个可怕的快速网站,从一开始就内置了很棒的AJAX。

以下是使用Node生成JSONP响应的示例代码:

function writeJsonpResponse(res, jsonpcallback, obj) {
    var serialized = JSON.stringify(obj);

    res.writeHead(200, {'Content-Type': 'application/javascript'});
    res.write(jsonpcallback + '(' + serialized + ');');
    res.end();
}

答案 4 :(得分:0)

Node.js本质上是您的网络服务器,它将取代Apache,因此您可以找到运行Nodejs的唯一主机是专用服务器或云实例,您必须在其中安装和运行nodejs。运行node.js的机器需要有一个指向它的域名,或者你可以访问服务器的唯一方法是使用其IP地址,即本地主机。

答案 5 :(得分:0)

阅读自述文件。 设置环境。 看看package.json(或npm init创建一个) 安装依赖项(npm install / axios,nodemon,express,mysql,react,babel) 添加脚本以启动服务器和Webpack(如果需要) 熟悉文件结构。 关注点分离-公共/远程,服务器,数据库,客户端 考虑数据流 确保基本的HTML结构。 检查是否安装了bundle.js文件/所需的所有文件 需要一个div ID来进行反应(例如应用程序或root) 启动Express服务器。 启动服务器和webpack是独立的终端。 检查服务器正在监听的console.log! 在服务器上写路由(获取和发布请求)。 检查使用邮递员获取和发布请求是否正常! 创建mySQL数据库(db / index.js)。 设计和导入架构(如何构造数据表)。 导入yr模式女孩时,请确保您位于db文件夹中! 将数据库连接到服务器。 检查console.log是否成功连接! 编写插入/检索数据库查询功能。 别忘了将module.export那些查询到服务器! 将在路由中调用查询功能/在服务器中获取和发布请求 设置基本的React结构。 index.js的唯一任务是将您的应用程序组件呈现为div id应用程序 需要一个有状态的App组件来呈现所有其他组件 记住要导入和导出默认的所有内容! 设计其余组件,确定它们将是功能组件(无状态)还是类组件(有状态)。 画出来! 您需要传递哪些道具(数据和功能)? 编写这些组件。 处理一个贯穿所有部分的数据流。获取输入处理程序,以将客户端POST请求(使用axios)发送到服务器路由,该路由将执行您的API调用(如果有),然后将该数据插入数据库。 记住要处理您的错误! 处理事件/条件渲染。 1.用户事件提供输入(onChange e.target.value) 2.编写一个handleChange f(x)以将状态更新为该新输入 3.输入提交(onClick) 3.编写一个handleSubmit f(x),该状态将处于更新状态,并通过{输入}到适当的服务器路由发出axios POST请求。 记住适当地绑定方法函数! 在路线/获取和发布请求中调用查询功能。 检查来自客户端的数据是否存储在数据库中。 描述那些表我的朋友! 在客户端向api端点执行AJAX获取请求(使用axios或fetch)。 将传入数据存储在setState中 可能想在componentDidMount中执行GET请求,以始终为客户端呈现适当的信息 好极了!您可以成功设置服务器,数据库和客户端,在它们之间传递数据,可能操纵数据,存储该数据,并向客户端显示适当的数据! 解决这些用户故事!