首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在metalsmith中运行bash脚本

如何在metalsmith中运行bash脚本
EN

Stack Overflow用户
提问于 2015-03-21 19:44:59
回答 2查看 250关注 0票数 1

如何让metalsmith运行bash脚本?你能做到吗?

我的构建非常简单,但我想在编译完所有内容后从build.js文件夹中删除一些内容。

代码语言:javascript
复制
var Metalsmith = require('metalsmith'),
    copy       = require('metalsmith-copy'),
    define     = require('metalsmith-define'),
    markdown   = require('metalsmith-markdown'),
    permalinks = require('metalsmith-permalinks'),
    static     = require('metalsmith-static'),
    templates  = require('metalsmith-templates');



Metalsmith(__dirname)
    .source('./pages')
    .use(static(require('./config/assets')))
    .use(static(require('./config/rootFiles')))
    .use(define(require('./config/define')))
    .use(markdown())
    .use(permalinks())
    .use(templates(require('./config/templates')))
    .destination('./build')
    .build(function (err) {
        if (err) {
          throw err
        }
    })

那么,如果我在config/leanup.sh中保存了一个bash脚本,那么如何在.build()之后执行它呢?

EN

回答 2

Stack Overflow用户

发布于 2015-03-26 07:40:00

Node js fs utils

如果你只是想删除文件和文件夹,那么Node.js有filesystem工具可以帮你做到:

代码语言:javascript
复制
var fs = require('fs');

// file
fs.unlink('/path/to/filename.txt', callback);
// directory
fs.rmdir('/path/to/dirname', callback);

执行bash脚本(或其他命令)

如果您真的想运行bash脚本,那么child_process.exec可能会帮助您。

(示例来自:http://www.dzone.com/snippets/execute-unix-command-nodejs)

代码语言:javascript
复制
var sys = require('sys')
var exec = require('child_process').exec;
function puts(error, stdout, stderr) { sys.puts(stdout) }

exec('./bash_script.sh', puts);
票数 0
EN

Stack Overflow用户

发布于 2015-12-29 13:34:23

你可以使用https://github.com/pjeby/gulpsmith和其他gulp插件(例如https://www.npmjs.com/package/gulp-clean)来删除你的文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29182334

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档