快速把手Globbing

时间:2018-01-19 22:38:56

标签: javascript express gulp handlebars.js

我正在尝试设置我的快速应用程序,以便它将我的所有组件读作部分。我的树看起来像:

-src/
--components/
---hero
---block

我想要的是我的快递把手应用程序引擎在组件目录中查找然后在其他目录中搜索部分,我试图将其全局化,但这似乎不起作用。

这就是我现在所拥有的。

app.engine('.hbs', handlebars({
  extname: 'hbs',
  defaultLayout: 'index',
  layoutsDir: './src/pages',
  partialsDir: './src/components/**/'
}));

1 个答案:

答案 0 :(得分:0)

好的,所以这里是答案,似乎表达式把手只允许你将它除掉字符串或数组。除此之外,您可以使用glob-fs,这将允许您对所有嵌套的部分进行全局处理。您可以在设置express-handlebars配置之前执行此操作。

这样的事情会起作用。

const express = require('express'),
      handlebars = require('express-handlebars'),
      app = express(),
      glob = require('glob-fs')({ gitignore: true });

let server,
host,
port,
files;

files = glob.readdirSync('./src/components/**/');

app.engine('.hbs', handlebars({
 extname: 'hbs',
 defaultLayout: 'index',
 layoutsDir: './src/pages',
 partialsDir: files
}));

希望这有助于将来的任何人。