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

yizhihongxing

下面是用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日

相关文章

  • [将免费进行到底]在Amazon的一年免费服务器上安装Node.JS, NPM和OurJS博客

    下面是将免费进行到底在Amazon的一年免费服务器上安装Node.JS、NPM和OurJS博客的详细攻略。 确定Amazon实例类型 首先,我们需要在Amazon AWS上选择一种合适的实例类型。根据实际需求,我们可以选择不同的实例类型。此处我们选择性价比较高的t2.micro实例。选择该实例类型的原因在于其拥有1GB内存和1 vCPU的计算能力,并且可以免…

    node js 2023年6月8日
    00
  • 简单谈谈关于 npm 5.0 的新坑

    关于npm 5.0的新坑,主要包括以下几个方面: 1. 本地缓存机制 npm 5.0 引入了改进的本地缓存机制,该机制现在默认启用。新机制把每个依赖的模块和它们的元数据缓存到本地,并且这些缓存值不再被视为是全局的(即使你通过 -g 安装)。这样,如果你在两个项目中都使用一个版本号,它们将共享所存储的模块,并且模块只会被下载一次。如果你删除了某个模块,它将保留…

    node js 2023年6月8日
    00
  • 手把手教你如何使用nodejs编写cli命令行

    关于“手把手教你如何使用Node.js编写CLI命令行”的攻略,我会详细讲解以下步骤: 步骤一:创建一个node项目 首先,我们需要在本地环境上创建一个 Node.js 项目,以便于后续的操作: mkdir my-cli cd my-cli npm init -y 执行完上述命令后,会在当前目录下创建一个名为 my-cli 的文件夹,并在该目录下生成一个 p…

    node js 2023年6月8日
    00
  • Nodejs使用dgram模块创建UDP服务详解

    Node.js是一个基于Chrome V8引擎开发的开源、跨平台的Javascript运行环境,可用于构建高性能的Web应用程序。dgram模块是Node.js的一个核心模块之一,用来为UDP协议提供服务。在本文中,我们将详细讲解如何使用dgram模块创建UDP服务,使您能够在Node.js中使用UDP协议实现高效的数据传输。 创建UDP服务 在Node.j…

    node js 2023年6月8日
    00
  • nodejs 图片预览和上传的示例代码

    下面是关于“nodejs 图片预览和上传”的完整攻略。 步骤一:安装依赖 在开始编写nodejs图片上传和预览的代码前,需要安装必要的依赖项。首先进入项目文件夹,打开命令行工具,执行以下命令: npm init -y 这个命令会自动生成一个package.json文件,保存项目的信息和依赖项。接下来,安装express和multer依赖包: npm inst…

    node js 2023年6月8日
    00
  • vite构建项目并支持微前端

    要使用vite构建项目并支持微前端,可以按照以下步骤进行: 第一步:初始化项目 npm init vite-app my-project 第二步:安装依赖 cd my-project npm install 第三步:按需加载 要支持微前端,需要让每个子应用按需加载,而vite正好支持这一特性。你可以在子应用的entry.js中,只导入本子应用需要的模块,而不…

    node js 2023年6月8日
    00
  • 详解使用抽象语法树AST实现一个AOP切面逻辑

    使用抽象语法树AST实现AOP切面逻辑可以让我们在代码运行前或运行后织入一些额外的逻辑,以达到对代码进行横向扩展不修改代码本身的目的。下面是使用AST实现AOP切面逻辑的攻略。 什么是AST? 抽象语法树(Abstract Syntax Tree,AST)是一种树状结构,表示编程语言的语法结构。在编译期间,编译器会将源代码转换为AST,用于后续的代码生成等操…

    node js 2023年6月8日
    00
  • 纯JS 绘制数学函数

    下面就让我来为您详细讲解“纯JS 绘制数学函数”的完整攻略。 什么是纯JS 绘制数学函数? 纯JS 绘制数学函数是一种使用 JavaScript 语言编写程序,通过绘制图形的方式来展示数学函数的方法。使用此方法,可以实现用代码来绘制各种不同的数学函数图形,而无需借助于任何第三方库和工具。 绘制数学函数的基本原理 首先需要明确的是,绘制数学函数的本质就是将数学…

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