如何从Node.js开始-Visual Studio2017

2020-08-17 00:31:55 浏览数 (1)

如何从Node.js开始

好吧,简单地说,Node.js是一个服务器框架,可以在Windows,Linux,Unix,Mac OS X等各种平台上运行。它是开源的。

根据NodeJS网站的说法,“Node.js®是基于Chrome的V8 JavaScript引擎构建的JavaScript运行时。Node.js使用事件驱动的非阻塞I / O模型,使其轻巧高效。Node.js的软件包生态系统 npm是世界上最大的开源库生态系统。”

那么,什么是V8?

根据Google开发人员的说法

V8是Google的开源高性能JavaScript引擎,用C 编写,并用在Google Chrome,Google的开源浏览器以及Node.js等中。 它实现ECMA-262中指定的ECMAScript,并在Windows 7或更高版本,macOS 10.5 和使用IA-32,ARM或MIPS处理器的Linux系统上运行。 V8可以独立运行,也可以嵌入到任何C 应用程序中。

可以在V8的公共Wiki上找到更多信息。

如何开始

我们需要安装和设置NodeJS开发环境才能使用。 进入NodeJS页面下载MSI文件。

点击“下一步”完成设置。 当我们计划使用Visual Studio开发示例应用程序时,请确保IDE已安装NodeJS开发包。

在Visual Studio中使用NodeJS

打开Visual Studio2017。转到文件>新建>项目

将会出现一个新项目窗口。 从左侧菜单中,单击JavaScript。 它将显示示例NodeJS应用程序的列表。 我刚开始使用一个空白的NodeJS Web应用程序。

初始示例具有server.js和package.json文件。

Nodejs Web服务器

代码语言:javascript复制
'use strict';  
var http = require('http');  
var port = process.env.PORT || 1337;  
  
http.createServer(function (req, res) {  
    res.writeHead(200, { 'Content-Type': 'text/plain' });  
    res.end('Hello Worldn');  
}).listen(port);

在上面的代码片段中,我们可以看到初始示例应用程序具有一个核心模块(HTTP),该模块具有“ http.createServer”方法来处理端口1337上来自用户的带有响应的请求。

package.json

代码语言:javascript复制
{  
  "name": "startup-nodejs",  
  "version": "0.0.0",  
  "description": "StartupNodejs",  
  "main": "server.js",  
  "author": {  
    "name": "Shashangka"  
  }  
}  

现在,运行该应用程序。 服务器将在浏览器中响应以下输出。

现在,如果要根据用户请求提供HTML页面,则需要使用不同的NodeJS框架。 在本文中,我们将使用Express.js开发可为HTML页面提供服务的示例Web应用程序。

Node.js框架

Express.js,Geddy,机车,Koa,Total.js,Hapi.js等。

Express.js Web应用程序

创建Express.js Web应用程序。 首先,我们需要安装Express.js软件包。

使用npm安装express.js

代码语言:javascript复制
$ npm install express --save

在Visual Studio中安装Express.js

package.json

代码语言:javascript复制
{  
  "name": "nodejs-web-app1",  
  "version": "0.0.0",  
  "description": "NodejsWebApp1",  
  "main": "server.js",  
  "author": {  
    "name": "Shashangka"  
  },  
  "dependencies": {  
    "express": "^4.16.2"  
  }  
}  

正如我们所看到的,我们的package.json现在具有与软件包版本的依赖关系。 现在,我们需要修改server.js文件以提供HTML页面。

index.html

创建一个HTML页面以响应用户请求。

代码语言:javascript复制
<!DOCTYPE html>  
  
<html xmlns="http://www.w3.org/1999/xhtml">  
<head>  
    <meta charset="utf-8" />  
    <title></title>  
</head>  
<body>  
    <h3>Hello NodeJS</h3>  
</body>  
</html>  

server.js

在下面的代码片段中,使用require()函数导入Express.js模块。

代码语言:javascript复制
'use strict';  
//var http = require('http');  
var express = require('express');  
var app = express();  
var port = process.env.PORT || 1337;  
  
//http.createServer(function (req, res) {  
//    res.writeHead(200, { 'Content-Type': 'text/plain' });  
//    res.end('Hello Worldn');  
//}).listen(port);  
  
app.get('/', function (req, res) {  
    res.sendFile('index.html', { "root": __dirname });  
});  
  
var server = app.listen(port, function () {  
    console.log('Node server is running on port..'   port);  
});  

app对象负责响应用户请求(HTTP)路由,渲染HTML视图。 app.listen()函数通过监听定义的端口来创建Node Web服务器。

输出

现在,运行应用程序,它将显示如下输出。

现在,我们添加另一个about页面。 我们还需要修改现有的server.js文件并添加以下代码段。

代码语言:javascript复制
app.get('/about', function (req, res) {  
    res.sendFile('about.html', { "root": __dirname });  
}); 

将菜单添加到index和about页面。 最后,运行该应用程序。 从下图可以看出,通过响应about页面来执行请求。

Node.js

0 人点赞