我有一个整体 Node TypeScript 项目。在此项目中,有一个包含多个文件的脚本文件夹。每个文件都旨在充当单独的服务/脚本,并且这些文件共享公共库、方法和类。
例如,我有一个
HttpRequest
类,该类在多个文件中使用,并在内部使用 axios
库。
这是我的挑战:我想在开发过程中保持整体结构,以尽量减少代码冗余。但是,当我将项目编译到
"/dist"
文件夹时,我希望脚本文件夹中的每个文件都成为可以独立执行的独立的捆绑 JavaScript 文件。本质上,每个构建的文件都应该包含它自己运行所需的一切。
我尝试过使用Webpack,但它似乎要么太复杂,要么不适合这个特定的要求。有没有更简单或更好的方法来实现这一目标?
文件夹结构示例:
> scripts/
-------->test1.ts
-------->test2.ts
-------->test3.ts
> shared/
-------->shared1.ts
-------->shared2.ts
-------->httpRequestAgnostic.ts
谢谢你。
是的,有一种类似的方法可以在不使用 Webpack 的情况下实现此目的。那么你就可以汇总来解决这个问题。 Rollup 是 js 捆绑器,其设计比 Webpack 更轻量且易于使用。
如果您需要使用 rollup ,您还需要创建一个 rollup 配置文件。那么这个文件将告诉 rollup 如何捆绑你的代码。
这是示例汇总配置文件。
Import typescript from "rollup-plugin-typescript";
export default {
input : "./script/index.ts",
output: {
file: "./dist/bundle.js",
format: "esm",
}
,
plugin: [typescript()],
}
;
要编译您的代码,请使用该命令,
npx rollup -c
它将编译您的代码并在
bundle.js
文件夹中创建 dist
文件。