将ts文件完全包含到另一个ts文件中(在生成的文件中不需要)

时间:2018-11-16 01:33:18

标签: typescript

我有一个非常简单的.ts文件,其中声明了一些变量。例如:

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

我想直接将其包含在另一个.ts文件中,以便其他文件可以直接使用该变量,并且所有变量都包含在一个地方(不需要等)。其他文件,需要同时在浏览器和节点上下文中使用。

我这样做是这样的:

fileA.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"));

我没有require语句。 是否可以使用ts直接将一个文件的内容“复制”到正在创建的.js文件中?

1 个答案:

答案 0 :(得分:1)

  

是否可以使用ts直接将一个文件的内容“复制”到正在创建的.js文件中

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

但是,在将编译器选项--module设置为none的情况下,可以将程序分割为多个文件,编译器会将它们合并为一个输出.js文件。

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