Metalsmith.js:如何构build到与构build脚本相同的目录?

我对Metalsmith完全陌生。 我一直在关注这个教程: http : //www.robinthrift.com/posts/metalsmith-part-1-setting-up-the-forge/

我想build立我的网站到我的项目的根目录(与生成脚本相同的目录)。 我想要做到这一点,因为我希望github页面可以很好地播放它。 但是当我尝试构build时,我得到这个错误:错误:EBUSY,资源忙或locking

这是我的dir结构:

  • project_folder /
    • _site-SRC /
      • 的index.html
    • node_modules
    • build.js
    • 的package.json

这里是我的build.js源代码:

var Metalsmith = require("metalsmith"); Metalsmith(__dirname) .source("_site_src") .destination(".") .build(); 

我想让我的项目目录看起来像:

  • project_folder /
    • _site-SRC /
      • 的index.html
    • node_modules
    • build.js
    • 的package.json
    • 的index.html

我不知道我在做什么错。 我感谢任何帮助。

错误消息:

错误:EBUSY,资源忙或locking

似乎是一个文件locking/使用中的错误。 (我不熟悉Node.js错误)

我会假设这是发生在Metalsmith试图清理生成文件夹(这是你的解决scheme文件夹,即一个非常糟糕的主意)。 这是默认情况下,但可以closures。

要closures此function,请使用:

 .clean(false) 

在你build立之前。


但是,如果您从源文件夹中删除项目,他们将不会从您的生成文件夹中删除。 您可能可以通过自定义清理脚本或插件来处理这个问题。

我没有经验的github页面,但我认为应该有一个更好的select,以避免这个问题。

您可能会从index.html文件的项目文件夹中为生成文件夹添加一个符号链接。