11 个 addPassthroughCopy for Javascript 文件夹不复制文件

问题描述 投票:0回答:2

可能我错过了一些完全明显的东西。我尝试传递我的 main.js 文件,但似乎没有任何效果。

module.exports = function (eleventyConfig) {
    eleventyConfig.addPassthroughCopy("./src/assets/js");
    eleventyConfig.addWatchTarget("./src/assets/");
  
    return {
      dir: {
        input: "src",
        output: "public",
      },
    };
  };

我的文件夹结构设置如下

📦eleventy-project
 ┣ 📂src
 ┃ ┣ 📂_includes
 ┃ ┃ ┗ 📜base.njk
 ┃ ┣ 📂assets
 ┃ ┃ ┗ 📂js
 ┃ ┃   ┗ 📜main.js
 ┃ ┗ 📜index.njk
 ┣ 📜.eleventy.js
 ┣ 📜package-lock.json
 ┗ 📜package.json

其他一切都有效。目标监视工作,输入和输出目录工作,但 passthroughCopy 不执行任何操作。

有人看到我的错误吗?

javascript module nunjucks eleventy
2个回答
1
投票

好吧,我真傻。直通似乎只在构建时生效,而不是在服务时生效(至少在 11ty 2.0 中)。网站可以工作,它只是在构建时复制文件。


0
投票

只是在此处添加更多信息,因为我最终在此页面上遇到了类似的问题。

从 Eleventy v2.0 开始,开发服务器模拟复制文件——它创建一个引用并使用原始文件进行开发构建。这意味着当您运行

npx @11ty/eleventy --serve
时,您的文件将不会复制到您的
_site
文件夹中。

运行

npx @11ty/eleventy
(不带
--serve
)会将文件复制到
_site
文件夹。

但是;如果您在构建步骤期间需要这些文件,这对您没有帮助,您需要禁用它。您可以通过将以下内容添加到您的

eleventy.config.js
文件来做到这一点:

export default function (eleventyConfig) {
  eleventyConfig.setServerPassthroughCopyBehavior("copy");
}

更多信息请点击这里: https://www.11ty.dev/docs/copy/#emulate-passthrough-copy-during-serve

© www.soinside.com 2019 - 2024. All rights reserved.