gpt4 book ai didi

typescript - 在 Typescript 中内联模块

转载 作者:搜寻专家 更新时间:2023-10-30 21:28:41 25 4
gpt4 key购买 nike

我想在 TypeScript 中使用模块进行内联。例如,如果我在 mymodule.ts 中有这段代码:

export class mymodule {
constructor() {
console.log('Hi');
}
}

当我将此类包含在另一个文件中时:

import { mymodule } from './mymodule.ts'

我想将 mymodule 类复制粘贴或内联到编译文件中。我正在使用 outFile 选项编译为单个文件,但它只是在一个文件中创建多个模块,生成不必要的包装代码。有办法实现吗?

谢谢。

最佳答案

让我们从 JavaScript 开始

Rollup做你需要的,但使用 JavaScript。

例如,这里有一个类:

// MyClass.js
export class MyClass {
constructor() {
console.log('Hi');
}
}

入口点:

// main.js
import { MyClass } from './MyClass';
export const inst = new MyClass();

然后,安装 Rollup 并运行它:

npm install rollup
./node_modules/.bin/rollup main.js --o bundle.js --f es

Rollup 生成以下文件:

class MyClass {
constructor() {
console.log('Hi');
}
}

const inst = new MyClass();

export { inst };

Try it here.

使用 typescript

有两种解决方法:

  1. 使用tsc 将每个 TypeScript 文件编译成 JavaScript 文件,然后使用 Rollup(我就是这样做的);
  2. 或者,使用 Rollup 插件。

关于第二种解决方案,因为 official Rollup plugin使用旧版本的 TypeScript,我建议尝试 rollup-plugin-typescript2 .

如果您使用 Rollup 插件,则需要 Rollup 的配置文件 (rollup.config.js)。

关于typescript - 在 Typescript 中内联模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47219773/

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