如何从单一 Node TypeScript 存储库构建捆绑脚本?

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

我有一个整体 Node TypeScript 项目。在此项目中,有一个包含多个文件的脚本文件夹。每个文件都旨在充当单独的服务/脚本,并且这些文件共享公共库、方法和类。

例如,我有一个

HttpRequest
类,该类在多个文件中使用,并在内部使用
axios
库。

这是我的挑战:我想在开发过程中保持整体结构,以尽量减少代码冗余。但是,当我将项目编译到

"/dist"
文件夹时,我希望脚本文件夹中的每个文件都成为可以独立执行的独立的捆绑 JavaScript 文件。本质上,每个构建的文件都应该包含它自己运行所需的一切。

我尝试过使用Webpack,但它似乎要么太复杂,要么不适合这个特定的要求。有没有更简单或更好的方法来实现这一目标?

文件夹结构示例:

> scripts/
  -------->test1.ts
  -------->test2.ts
  -------->test3.ts
> shared/
  -------->shared1.ts
  -------->shared2.ts
  -------->httpRequestAgnostic.ts

谢谢你。

javascript node.js typescript build compilation
1个回答
0
投票

是的,有一种类似的方法可以在不使用 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
文件。

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