代码之家  ›  专栏  ›  技术社区  ›  ffConundrums

将TS文件完全包含在另一个TS文件中(结果文件中不需要)。

  •  0
  • ffConundrums  · 技术社区  · 5 年前

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

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

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

    我是这样做的:

    文件:

     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文件中?

    1 回复  |  直到 5 年前
        1
  •  1
  •   artem    5 年前

    有没有一种方法可以使用TS,将一个文件的内容直接“复制”到正在创建的.js文件中?

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

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

    最大的警告是你不能使用 import export 在你的计划中处于最高层。相反,所有文件共享一个通用的全局范围,您可以在其中定义全局变量。您可以在“”中找到此类计划组织的示例。 Namespaces 文件的章节 splitting across files “部分。