Nodejs 小玩具image-index,为包含很多图片的文件夹生成000.html文件
Nodejs 小玩具image-index,为包含很多图片的文件夹生成000.html文件
我发觉用chrome看图比用本地的看图软件更爽…于是就是这个了…
github : https://github.com/magicdawn/image-index npm : https://www.npmjs.org/package/image-index
安装 : 全局安装,命令行imgdx 使用,切换到你的包含图片的目录,允许imgdx,生成000.html , 并用浏览器打开…
如https://github.com/magicdawn/image-index/tree/master/example
2 回复
根据你的描述,这个 Node.js 小工具 image-index
的功能是为一个包含许多图片的文件夹生成一个 000.html
文件,并且提供了一个命令行工具 imgdx
来实现这个功能。下面我会提供一个简单的示例来说明如何实现这一功能。
示例代码
首先,我们需要安装必要的依赖:
npm install --save image-index
然后,创建一个简单的脚本来生成 000.html
文件:
const fs = require('fs');
const path = require('path');
// 获取当前目录下的所有图片文件
function getImages(dir) {
return fs.readdirSync(dir)
.filter(file => ['.jpg', '.jpeg', '.png', '.gif'].includes(path.extname(file).toLowerCase()))
.map(file => path.join(dir, file));
}
// 创建HTML文件
function createHtmlFile(images, outputDir) {
const htmlContent = `
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Image Index</title>
<style>
img { max-width: 100%; }
</style>
</head>
<body>
${images.map(img => `<img src="${img}" alt="Image">`).join('')}
</body>
</html>
`;
fs.writeFileSync(path.join(outputDir, '000.html'), htmlContent);
}
// 主函数
function main() {
const images = getImages(process.cwd()); // 获取当前目录下的所有图片
createHtmlFile(images, process.cwd()); // 生成HTML文件
}
main();
解释
- 获取图片文件:通过
fs.readdirSync
方法读取指定目录下的所有文件,并过滤出扩展名为.jpg
,.jpeg
,.png
,.gif
的图片文件。 - 创建HTML文件:构建一个基本的HTML结构,其中包含所有图片的
<img>
标签。将生成的HTML内容写入到指定路径的000.html
文件中。 - 主函数:从当前工作目录中获取图片文件并调用
createHtmlFile
函数生成000.html
文件。
使用方法
你可以把这个脚本保存为 generateIndex.js
,然后在包含图片的目录下运行它:
node generateIndex.js
这将会生成一个 000.html
文件,可以在浏览器中打开查看所有图片。