gpt4 book ai didi

javascript - esbuild 不捆绑文件

转载 作者:行者123 更新时间:2023-12-01 15:16:59 33 4
gpt4 key购买 nike

我正在尝试使用 esbuild 在 npm 项目中捆绑和缩小我的文件。它正在最小化我传入的每个文件,但它不是捆绑。当有多个文件时,它给了我必须使用“outdir”的错误。但是,这让我将所有这些文件最小化到一个文件夹中。这不是我想要的行为,也不是捆绑。我只希望它获取所有这些文件并将它们合并为一个。

let {build} = require("esbuild");
let files = ["file1.js", "file2.js"];

build({
entryPoints: files,
outdir: "./views/dashboardPage/bundle",
minify: true,
bundle: true
}).catch(() => process.exit(1));
我已将 bundle 设置为 true,但它仍然要求我使用 outdir,它只是将这些文件最小化返回给我。他们基本上有 0 个关于此的文档,并且每篇关于它的在线帖子都只是从 GitHub 复制/粘贴自述文件。我怎样才能使它捆绑?

最佳答案

每个入口点文件将成为一个单独的包。每个包都包含入口点文件和它导入的所有文件。通过两个入口点将创建两个单独的包。捆绑过程与文件串联不同。
如果您想要一个包中的所有文件,您可以从一个文件中引用它们并将该文件用作入口点:

import "./file1.js"
import "./file2.js"
使用 esbuild 执行此操作可能如下所示:
let {build} = require("esbuild");
let files = ["./file1.js", "./file2.js"];

build({
stdin: { contents: files.map(f => `import "${f}"`).join('\n') },
outfile: "./views/dashboardPage/bundle.js",
minify: true,
bundle: true
}).catch(() => process.exit(1));

关于javascript - esbuild 不捆绑文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63086520/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com