我有一个非常简单的.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文件中?
答案 0 :(得分:1)
是否可以使用ts直接将一个文件的内容“复制”到正在创建的.js文件中
不完全是。无法将一个源文件的内容“复制”或“包含”到另一个源文件中。
但是,在将编译器选项--module
设置为none
的情况下,可以将程序分割为多个文件,编译器会将它们合并为一个输出.js
文件。
最大的警告是您不能在程序的顶层使用import
和export
。相反,所有文件共享一个公共全局范围,您可以在其中定义全局变量。您可以在文档的“ Namespaces”部分的“ splitting across files”一章中找到此类程序组织的示例。