typescript - 将 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 文件中?
解决方案
有没有办法使用 ts,直接将一个文件的内容“复制”到正在创建的 .js 文件中
不完全是。无法将一个源文件的内容“复制”或“包含”到另一个源文件中。
但是,如果将编译器选项--module
设置为none
,则可以将程序拆分为多个文件,这些文件将由编译器组合成一个输出.js
文件。
最大的警告是你不能在你的程序中使用import
和export
在顶层。相反,所有文件共享一个通用全局范围,您可以在其中定义全局变量。您可以在文档的“命名空间”一章的“跨文件拆分”部分中找到此类程序组织的示例。
推荐阅读
- php - 当 AJAX 没有更多帖子要显示时显示“少显示”按钮
- docker - Prisma deploy 报错 GraphQL Tutorial
- c++ - 是否可以在 MQX 上使用其他 C++ 标准库实现,Libc++
- selenium - 如何在 selenium webdriver 中编写代码但首先要求用户输入
- node.js - Multer + React + Nodejs Axios 请求
- java - JMS active mq 一条消息并发消费
- c# - 无法安装 wcf 服务
- javascript - 如何验证“" 当同一个文件被多次选择?
- pytorch - Pytorch-为什么“累积”.gradient的默认模式?
- isabelle - 从 Isabelle/HOL 到 HOL 的自动翻译