返回

深入浅出解构脚手架之 ejs 和 glob 的使用

前端

脚手架,前端开发利器

脚手架在前端开发中发挥着至关重要的作用,它可以帮助开发者快速搭建项目结构,减少重复劳动,从而提高开发效率。常见的脚手架工具包括 Yeoman、Create React App 和 Vue CLI 等。

ejs 和 glob,脚手架中的得力助手

在脚手架的构建过程中,ejs 和 glob 这两个工具经常被使用。ejs 是一个模板引擎,可以将数据动态地渲染到模板中,从而生成最终的代码。glob 则是一个文件匹配工具,可以帮助开发者轻松地查找和匹配文件。

ejs 的应用

ejs 的使用非常简单,只需要在模板文件中使用 <% %> 和 <%= %> 这两个标签即可。<% %> 标签用于输出代码,<%= %> 标签用于输出数据。

<!DOCTYPE html>
<html>
<head>
  
</head>
<body>
  <h1><%= heading %></h1>
  <p><%= content %></p>
</body>
</html>

在上面的代码中,<%= title %>、<%= heading %> 和 <%= content %> 这三个标签分别输出 title、heading 和 content 这三个变量的值。

glob 的应用

glob 的使用也非常简单,只需要使用 glob.sync() 函数即可。glob.sync() 函数接收一个字符串作为参数,表示要匹配的文件路径。该函数返回一个数组,其中包含所有匹配的文件路径。

const glob = require('glob');

const files = glob.sync('src/**/*.js');

console.log(files);

在上面的代码中,glob.sync('src/**/*.js') 会匹配 src 目录下所有以 .js 结尾的文件,并将匹配到的文件路径存储在 files 数组中。

案例:使用 ejs 和 glob 构建脚手架

现在,我们来看一个使用 ejs 和 glob 构建脚手架的示例。

首先,我们创建一个名为 my-project 的文件夹,并在其中创建一个 package.json 文件。package.json 文件的内容如下:

{
  "name": "my-project",
  "version": "1.0.0",
  "description": "My awesome project",
  "scripts": {
    "start": "node index.js"
  },
  "dependencies": {
    "ejs": "^2.7.4",
    "glob": "^7.1.6"
  }
}

接下来,我们创建一个名为 index.js 的文件。index.js 文件的内容如下:

const ejs = require('ejs');
const glob = require('glob');

const template = ejs.compile(
  '<!DOCTYPE html>\n' +
  '<html>\n' +
  '<head>\n' +
  '  \n' +
  '</head>\n' +
  '<body>\n' +
  '  <h1><%= heading %></h1>\n' +
  '  <p><%= content %></p>\n' +
  '</body>\n' +
  '</html>'
);

const files = glob.sync('templates/*.ejs');

for (const file of files) {
  const data = {
    title: 'My Awesome Project',
    heading: 'Welcome to My Awesome Project',
    content: 'This is the content of my awesome project.'
  };

  const html = template(data);

  console.log(html);
}

在上面的代码中,我们首先使用 ejs.compile() 函数编译了一个模板。然后,我们使用 glob.sync() 函数匹配了 templates 目录下所有以 .ejs 结尾的文件。接下来,我们遍历这些文件,并使用 ejs.render() 函数将数据渲染到模板中,从而生成最终的 HTML 代码。最后,我们将生成的 HTML 代码输出到控制台。

运行脚手架

npm start

输出结果:

<!DOCTYPE html>
<html>
<head>
  
</head>
<body>
  <h1>Welcome to My Awesome Project</h1>
  <p>This is the content of my awesome project.</p>
</body>
</html>

至此,我们已经成功地使用 ejs 和 glob 构建了一个简单的脚手架。

结语

ejs 和 glob 是两个非常有用的工具,可以帮助开发者轻松地构建脚手架。通过本文的学习,希望大家能够对这两个工具有更深入的了解,并能够将它们应用到自己的项目中。