Node JS 静态资源处理程序

  • 前言

一个拥有大型分布式网站的公司(比如 Facebook 或 Flickr)可能会决定将所有机器只用于服务映像。Node将是这个问题的一个不错的解决方案,因为该公司能使用它编写一个简单的文件检索器,然后处理数万条连接。Node将查找映像文件,返回文件或一个404错误,然后什么也不用做。这种设置将允许这类分布式网站减少它们服务映像、.js和 .css文件等静态文件所需的服务器数量。


  • 实现

var sys = require('sys'),
    http = require('http'),
    url = require('url'),
    path = require('path'),
    fs = require('fs');

http.createServer(function(request, response) {
  var uri = url.parse(request.url).pathname;
  var filename = path.join(__dirname, uri);
  
  path.exists(filename, function(exists) {
     if(!exists) {
        response.writeHead(404, { "Content-Type": "text/plain" });
        response.write("404 Not Found\n");
        response.end();
        return;
     }

     fs.readFile(filename, "binary", function(err, file) {
        if(err) {
           response.writeHead(500, { "Content-Type": "text/plain" });
           response.write(err + "\n");
           response.end();
           return;
        }
  
        var contentType='none';
        var ext = path.extname(filename);
        switch(ext)
        {
          case ".js":
            contentType = 'text/javascript';
            break;
          case ".css":
            contentType = 'text/css';
            break;
        }
      
        response.writeHead(200, { 'Content-Type': contentType });
        response.write(file, "binary");
        response.end();
     });
  });
}).listen(8000);

sys.puts('server running at http://localhost:8000/');

  • 启动

   node statis.js

   对应的css,js文件根据http请求的地址,分别放到statics.js文件的相关目录中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Node.js访问静态资源目录并读取图片可以使用 `express` 框架和 `path` 模块。下面是一个示例代码,展示了如何在 Node.js访问静态资源目录并读取图片: 首先,确保你已经安装了 `express` 和 `path` 模块。你可以使用以下命令进行安装: ``` npm install express path ``` 接下来,创建一个名为 `server.js` 的文件,并添加以下代码: ```javascript const express = require('express'); const path = require('path'); const app = express(); const port = 3000; // 设置静态资源目录 app.use(express.static(path.join(__dirname, 'public'))); // 路由处理 app.get('/', (req, res) => { res.send('Hello World!'); }); // 启动服务器 app.listen(port, () => { console.log(`Server is running on port ${port}`); }); ``` 在上述代码中,我们引入了 `express` 和 `path` 模块,并创建了一个 Express 应用程序实例 `app`。我们将静态资源目录设置为 `/public`,你可以根据自己的需求更改目录路径。 接下来,我们添加了一个基本的路由处理,在根路径 `/` 上返回 "Hello World!" 字符串。 最后,我们使用 `app.listen()` 方法启动服务器,并指定监听的端口号为 `3000`。 在项目根目录下创建一个名为 `public` 的文件夹,并将你的图片放在其中。 现在,当你启动服务器并访问 `http://localhost:3000/your-image.jpg` 时,Node.js 将从静态资源目录中读取并返回相应的图片。 希望以上信息对你有所帮助!如果有任何问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值