用Nodejs搭建服务器访问html、css、JS等静态资源文件

下面是用Nodejs搭建服务器访问静态资源文件的完整攻略。

1. 安装Node.js

首先,你需要安装Node.js。可以从Node.js官网下载。安装完成后,可在命令行输入以下命令验证是否安装成功:

node -v

2. 创建项目文件夹及文件

在任意目录下创建一个文件夹作为项目文件夹,我们在此文件夹内创建以下文件:index.html和app.js。

- projectFolder
  - index.html
  - app.js

3. 编写HTML、CSS、JS文件

为了方便演示,我们在index.html中添加一个简单的Hello World信息。在app.js中添加console.log('Hello World!')。

index.html

<!DOCTYPE html>
<html>
<head>
    <title>Node.js Static File Server</title>
</head>
<body>
    <h1>Hello World!</h1>
</body>
</html>

app.js

console.log('Hello World!');

4. 创建Http Server

我们需要创建一个HTTP server来提供文件。在项目文件夹内创建一个名为server.js的文件,并添加以下代码:

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

const hostname = '127.0.0.1';
const port = 3000;

const server = http.createServer((req, res) => {

  console.log(`Request for ${req.url} received`);

  let filePath = '.' + req.url;

  if (filePath === './') {
    filePath = './index.html';
  }

  const extname = path.extname(filePath);
  let contentType = 'text/html';
  switch (extname) {
    case '.js':
      contentType = 'text/javascript';
      break;
    case '.css':
      contentType = 'text/css';
      break;
    case '.json':
      contentType = 'application/json';
      break;
    case '.png':
      contentType = 'image/png';
      break;      
    case '.jpg':
      contentType = 'image/jpg';
      break;
    case '.wav':
      contentType = 'audio/wav';
      break;
  }

  fs.readFile(filePath, (err, content) => {
    if (err) {
      if (err.code === 'ENOENT') {
        res.writeHead(404);
        res.end('File not found');
      } else {
        res.writeHead(500);
        res.end(`Sorry, check with the site admin for error: ${err.code}`);
      }
    } else {
      res.writeHead(200, { 'Content-Type': contentType });
      res.end(content, 'utf-8');
    }
  });

});

server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});

在上面的代码中,我们使用Node.js内置的http模块创建了一个HTTP服务器,并设置监听127.0.0.1:3000这个地址和端口。当访问Localhost:3000时,服务器将根据请求的URL读取文件并返回它们,同时浏览器将解析并呈现HTML、CSS和JavaScript代码。

在此示例中,我们在HTTP服务器中使用文件系统模块读取文件并将其传递给响应。我们还使用了path模块解析文件名的扩展名并设置Content-Type,以便浏览器可以正确解析它们。

5. 运行服务器

接下来,我们使用Node.js运行server.js文件来启动服务器。打开终端或命令行,导航到项目文件夹内,并运行以下命令:

node server.js

如果一切正常,你应该会看到类似下面的日志信息:

Server running at http://127.0.0.1:3000/

6. 访问静态资源文件

如果一切正常,现在你可以通过浏览器访问Localhost:3000,并查看index.html文件中的Hello World信息。

如果你之前已经创建过CSS、JS等静态资源文件,你可以通过浏览器访问Localhost:3000/css/style.css、Localhost:3000/js/app.js等URL来访问它们。

示例说明

下面提供两个示例说明。

示例一

在第一个示例中,我们在项目文件夹内创建以下文件:

- projectFolder
  - index.html
  - css
    - style.css
  - js
    - app.js

在index.html中,我们添加了一个link标签引入style.css和一个script标签引入app.js。

在style.css中,我们添加了一个简单的样式。

在app.js中,我们添加了一个控制台日志输出。

index.html

<!DOCTYPE html>
<html>
<head>
    <title>Node.js Static File Server</title>
    <link rel="stylesheet" href="css/style.css">
    <script src="js/app.js"></script>
</head>
<body>
    <h1>Hello World!</h1>
</body>
</html>

app.js

console.log('Hello World!');

style.css

h1 {
    color: blue;
}

运行server.js之后,在浏览器中访问Localhost:3000,你应该可以看到Hello World的蓝色标题。

示例二

在第二个示例中,我们创建了以下文件:

- projectFolder
  - index.html

在index.html中,我们使用style标签来添加CSS样式。

index.html

<!DOCTYPE html>
<html>
<head>
    <title>Node.js Static File Server</title>
    <style>
        h1 {
            color: red;
        }
    </style>
    <script>
        console.log('Hello World!');
    </script>
</head>
<body>
    <h1>Hello World!</h1>
</body>
</html>

运行server.js,然后在浏览器中访问Localhost:3000,你应该可以看到Hello World的红色标题和控制台中输出的Hello World日志信息。

以上是用Node.js搭建服务器访问静态资源文件的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:用Nodejs搭建服务器访问html、css、JS等静态资源文件 - Python技术站

(0)
上一篇 2023年6月8日
下一篇 2023年6月8日

相关文章

  • 深入浅析NodeJs并发异步的回调处理

    深入浅析NodeJS并发异步的回调处理 什么是NodeJS的并发异步 NodeJS是一种基于V8引擎的JavaScript运行环境,其最大的特性就是异步事件驱动I/O模型。它可以在单线程环境下运行处理大量并发请求,而不会造成阻塞。 在NodeJS中,异步回调函数是一个非常重要的概念。它将请求提交给事件循环队列,当队列中的事件处理完成后,异步回调函数会被调用。…

    node js 2023年6月8日
    00
  • JavaScript异步队列进行try catch时的问题解决

    JavaScript中的异步操作很常见,例如通过ajax请求获取数据,或者使用setTimeout等函数延时执行代码。在异步操作中,代码不会按照原来的顺序依次执行,而是先执行后续的代码,异步操作完成后再回来执行该操作后面的代码。这种机制带来了很多便利,同时也带来了不少问题,其中包括try catch无法捕获异步代码中的错误。 以下是解决该问题的完整攻略: 1…

    node js 2023年6月8日
    00
  • node.js中的path.join方法使用说明

    Node.js中的path.join方法是一个非常常用的方法,它可以将多个路径拼接成一个完整的路径,并返回一个规范化后的路径。 方法说明 path.join方法属于Node.js的path模块中的一个方法,由于不需要创建path对象,也不需要指定this,因此可以直接使用该方法。 方法定义如下: path.join([…paths]) 其中,参数为多个需…

    node js 2023年6月8日
    00
  • 根据配置文件加载js依赖模块

    加载 JS 依赖模块是一个非常常见的需求。通过配置文件加载 JS 依赖模块可以使你的代码方便地管理和维护。下面是加载 JS 依赖模块的完整攻略。 第一步:安装依赖项 在使用配置文件加载 JS 依赖模块之前,你需要安装一个模块管理器,例如 require.js 或者 webpack。 以 require.js 为例,你可以通过以下命令安装: npm insta…

    node js 2023年6月8日
    00
  • 深入解析nodejs HTTP服务

    深入解析Node.js HTTP服务 在Node.js中,提供了核心模块http,用于快速构建HTTP服务端应用。我们可以使用该模块创建HTTP服务器、处理HTTP请求、响应HTTP响应等。 HTTP服务器的创建 使用http模块创建服务器主要需要以下步骤: 导入http模块 const http = require(‘http’); 创建服务器 const…

    node js 2023年6月8日
    00
  • 用js简单提供增删改查接口

    下面就是用JS简单提供增删改查接口的完整攻略: 什么是增删改查接口 增删改查接口,英文名CRUD(C:Create R:Retrieve U:Update D:Delete),是Web前端开发中最常用的基本操作之一,用于实现数据的增加(Create)、查询(Retrieve)、更新(Update)和删除(Delete)等操作。而JS简单提供增删改查接口,就是…

    node js 2023年6月8日
    00
  • nodejs中的http模块与npm模块使用

    下面是关于nodejs中的http模块与npm模块使用的介绍和示例说明。 http模块 在nodejs中,http模块是一个核心模块,它提供了创建HTTP服务器和客户端的方法,常用于编写Web应用程序。 创建HTTP服务器 要创建HTTP服务器,可以使用http.createServer()方法。该方法会返回一个HTTP服务器实例,我们可以监听该实例的req…

    node js 2023年6月8日
    00
  • nodejs 实现简单的文件上传功能(示例详解)

    让我来详细讲解一下“nodejs 实现简单的文件上传功能(示例详解)”这篇文章的完整攻略。 简介 该文章主要讲解了如何通过nodejs实现简单的文件上传功能。文章首先介绍了前端实现文件上传的方式,然后详细介绍了通过nodejs实现文件上传的流程和代码实现,并结合了两个示例演示了如何通过nodejs实现文件上传的功能。 前端文件上传方式 文章首先介绍了前端文件…

    node js 2023年6月8日
    00
合作推广
合作推广
分享本页
返回顶部