zoukankan      html  css  js  c++  java
  • gulp(四)插件gulp-data

    npm install --save-dev gulp-data

    var gulp = require('gulp');
    var swig = require('gulp-swig');
    var data = require('gulp-data');
    var fm = require('front-matter');
    var path = require('path');
    var MongoClient = require('mongodb').MongoClient;
     
    /*
      Get data via JSON file, keyed on filename.
    */
    gulp.task('json-test', function() {
      return gulp.src('./examples/test1.html')
        .pipe(data(function(file) {
          return require('./examples/' + path.basename(file.path) + '.json');
        }))
        .pipe(swig())
        .pipe(gulp.dest('build'));
    });
     
    /*
      Get data via front matter
    */
    gulp.task('fm-test', function() {
      return gulp.src('./examples/test2.html')
        .pipe(data(function(file) {
          var content = fm(String(file.contents));
          file.contents = new Buffer(content.body);
          return content.attributes;
        }))
        .pipe(swig())
        .pipe(gulp.dest('build'));
    });
     
    /*
      Get data via database, keyed on filename.
    */
    gulp.task('db-test', function() {
      return gulp.src('./examples/test3.html')
        .pipe(data(function(file, cb) {
          MongoClient.connect('mongodb://127.0.0.1:27017/gulp-data-test', function(err, db) {
            if(err) return cb(err);
            cb(undefined, db.collection('file-data-test').findOne({filename: path.basename(file.path)}));
          });
        }))
        .pipe(swig())
        .pipe(gulp.dest('build'));
    });

    参考:https://www.npmjs.com/package/gulp-data

    工欲善其事 必先利其器
  • 相关阅读:
    GLSL预定义变量
    GLSL 内建函数
    GLSL语言基础
    svn:revert to this version 和 revert changes from this version的区别
    win7下搭建opengles2.0编程环境
    iconv字符编码转换
    矩阵-DirectX与OpenGL的不同
    NHibernate分页
    Web网站压力测试工具
    winform系统自动登录实现
  • 原文地址:https://www.cnblogs.com/fengyouqi/p/8183651.html
Copyright © 2011-2022 走看看