首页 > 解决方案 > 将 ts 文件完全包含到另一个 ts 文件中,(结果文件中不需要)

问题描述

我有一个非常简单的 .ts 文件,它声明了一些变量。前任:

var myvar = {'a':'b'};

我想将它直接包含在另一个 .ts 文件中,以便其他文件可以直接使用该变量,并且它都包含在一个地方(不需要等)从另一个文件生成的结果 js 文件,需要在浏览器和节点上下文中使用。

我是这样做的:

文件A.ts:

 var myvar = {'a':'b'};
 export default myvar; 

fileB.ts(我希望将 fileA.ts 导入的文件)在顶部有这个:

 import myvar from './fileA';

问题是获得输出的文件 fileB.js 看起来像这样(代替我放置 import 语句的位置):

 "use strict";
 var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
 };
 Object.defineProperty(exports, "__esModule", { value: true });
 const myvar_1 = __importDefault(require("./fileA"));

我不能有要求的陈述。 有没有办法使用 ts,直接将一个文件的内容“复制”到正在创建的 .js 文件中?

标签: typescript

解决方案


有没有办法使用 ts,直接将一个文件的内容“复制”到正在创建的 .js 文件中

不完全是。无法将一个源文件的内容“复制”或“包含”到另一个源文件中。

但是,如果将编译器选项--module设置为none,则可以将程序拆分为多个文件,这些文件将由编译器组合成一个输出.js文件。

最大的警告是你不能在你的程序中使用importexport在顶层。相反,所有文件共享一个通用全局范围,您可以在其中定义全局变量。您可以在文档的“命名空间”一章的“跨文件拆分”部分中找到此类程序组织的示例。


推荐阅读