3

我对金属匠完全陌生。我一直在关注本教程:http ://www.robinthrift.com/post/metalsmith-part-1-setting-up-the-forge/

我想将我的站点构建到我的项目的根目录(与构建脚本相同的目录)。我想这样做是因为我希望 github 页面可以很好地使用它。但是当我尝试构建时,我收到此错误:错误:EBUSY,资源繁忙或锁定

这是我的目录结构:

  • 项目文件夹/
    • _site-src/
      • 索引.html
    • 节点模块
    • 构建.js
    • 包.json

这是我的 build.js 源代码:

var Metalsmith = require("metalsmith");

Metalsmith(__dirname)
    .source("_site_src")
    .destination(".")
    .build();

我希望我的项目目录看起来像:

  • 项目文件夹/
    • _site-src/
      • 索引.html
    • 节点模块
    • 构建.js
    • 包.json
    • 索引.html

我不知道我做错了什么。我很感激任何帮助。

4

1 回答 1

3

错误信息:

错误:EBUSY、资源繁忙或锁定

似乎是文件锁定/正在使用错误。(我对 Node.js 错误不太熟悉)

我假设这是在 Metalsmith 尝试清理构建文件夹(这是您的解决方案文件夹,即一个非常糟糕的主意)时发生的。这是默认开启的,但可以关闭。

要关闭此功能,请使用:

.clean(false)

在你建造之前。


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

我对 github 页面没有经验,但我认为应该有更好的替代方法来避免这个问题。

您可以从文件的项目文件夹中添加指向构建文件夹的符号链接index.html

于 2014-09-18T02:18:12.900 回答