Tag: 组装

NodeJs:具有依赖关系的外部JavaScript

我们试图只使用nodeJS,而对其他软件包的依赖性最小,我们现在遇到的挑战是HandelbarsJS。 我们find了一个包,可以为我们生成html的Assemble。 只有,这个3秒内每次大约3秒很慢,下一行有2.5 / 2,7秒: var assemble = require('assemble'); 我们的package.json脚本部分: "scripts": { "build:handlebars": "node scripts/handlebars.js", "watch:handlebars": "nodemon –watch assets –exec \"npm run build:handlebars\"" } 脚本/ handlebars.js文件 #! /usr/bin/env node var assemble = require('assemble'); var extname = require('gulp-extname'); console.log(Date.now() – start); assemble.data('assets/templates/data/*.json'); assemble.layouts('assets/templates/layouts/*.hbs'); assemble.partials('assets/templates/partials/*.hbs'); assemble.src('assets/templates/*.hbs', { layout: 'default' }) .pipe(extname()) .pipe(assemble.dest('build/')); 每当我们保存一个.hbs文件,Nodemon重启和外部的javascript文件都会被调用。 我们如何确保“要求”只被调用一次,还是保持在记忆中? 谢谢!

我怎样才能在集合的另一个集合中的父级以外使用集合列表?

试图在另一个目录中使用集合certificate是困难的。 主要collections目录:/src/templates/roles/one.hbs等等 然后在我的主页dir:/src/templates/pages/roles.hbs 我想在上面的模板中使用一个集合列表,但它不工作。 以下是我所尝试的: {{#each pages}} {{title}} {{/each}} 这可以在angular色页面内部工作,但不在页面内部或页面内/我的/ templates / pages /文件夹中 Gruntfile.js assemble: { options: { helpers: ['handlebars-helper-slugify', '<%= config.src %>/helpers/slugify.js'], data: '*.json', // Set the "default" assets dir at the task-level imageAssets: '<%= config.base %>assets/img', collections: [ { name: 'navMain', sortby: 'number', sortorder: 'ascending' }, { name: 'newsMain', sortby: 'postedon', sortorder: […]

内存不足错误:汇编构build任务和浏览器同步手表

我有一个问题,我有一个节点服务任务,监视.hbs文件的变化,如果发生变化触发另一个节点任务称为'styleguide'。 此样式指南构build任务使用汇编(v0.23.0)的节点API版本。 发生的事情是,随着时间的推移,构build任务需要更长,更长的时间才能执行,直到最终以Out of Memory和JS堆栈跟踪的错误结束。 这是服务任务的styleguide手表部分。 const styleguideWatchFiles = [ './src/templates/layouts/styleguide.hbs', './src/templates/styleguide/**/*.hbs', './src/components/styleguide/**/*.hbs' ]; //watch STYLEGUIDE chokidar.watch(styleguideWatchFiles, { ignoreInitial: true }) .on('error', error => log.error(error)) .on('all', (event, path) => { log.file('File Changed', path); run(styleguide).then(() => { browserSync.reload('*.html'); }).catch(err => { log.error(err); }); }); 这是styleguide构build任务。 /*eslint no-console: 0 */ /** * styleguide.js * * Build script […]