1 | require('dotenv').config();
|
2 | const app = require('template')();
|
3 | const path = require('path');
|
4 | const engineLodash = require('engine-lodash');
|
5 | const utils = require('../utils');
|
6 | const config = require('../lib/config');
|
7 |
|
8 | const PACKAGE_PATH = process.env.MODE === 'development' ? process.cwd() : path.dirname(require.main.filename);
|
9 | const TMPL_PATH = config.get('tmplPath') || `${PACKAGE_PATH}/tmpl`;
|
10 |
|
11 | app.engine('tmpl', engineLodash);
|
12 | app.create('pages');
|
13 |
|
14 | app.page('welcome.tmpl', { path: 'welcome.tmpl', content: 'Hello, <%= name %>!' });
|
15 |
|
16 | const getFileContent = async ({ name, tmplFileName }) => {
|
17 | const tmplPath = `${TMPL_PATH}/${tmplFileName}.tmpl`;
|
18 | const componentName = utils.getComponentName(name);
|
19 | const componentDashName = utils.toDashCase(name);
|
20 |
|
21 | app
|
22 | .page(tmplPath, {
|
23 | path: tmplPath,
|
24 | });
|
25 |
|
26 | const page = app.pages.get(tmplPath);
|
27 |
|
28 | const { content } = await page.render({
|
29 | componentName,
|
30 | componentDashName,
|
31 | }, (err, res) => {
|
32 | if (err) return err;
|
33 | return res.content;
|
34 | });
|
35 |
|
36 | return content;
|
37 | };
|
38 |
|
39 | module.exports = {
|
40 | getFileContent,
|
41 | };
|