gpt4 book ai didi

TypeScript:如何用窗口对象替换导入?

转载 作者:搜寻专家 更新时间:2023-10-30 21:18:02 25 4
gpt4 key购买 nike

我创建了一个需要第三方库的 TypeScript 模块:

import Dexie from "dexie";

namespace storage {
...
}

当我编译我的 TypeScript 文件时,我得到以下 JavaScript 输出:

"use strict";
var dexie_1 = require("dexie");
var storage;
(function (storage) {
...
})(storage || (storage = {}));

在 Node.js 环境中使用输出时,我对此没有意见。但是为了在浏览器中使用,我想将 var dexie_1 = require("dexie"); 替换为 window 中的对象,例如:var dexie_1 = window .Dexie;.

我可以用 window(全局命名空间)中的对象替换编译后的 JS 中的 require 语句吗?有没有 Gulp 插件之类的。周围相似?

我的 tsconfig.json 是这样的:

{
"compilerOptions": {
"module": "commonjs",
"moduleResolution": "node",
"target": "es5"
},
"exclude": [
"node_modules",
"typings/browser",
"typings/browser.d.ts"
]
}

最佳答案

How to replace imports with window objects?

这是不可能的。有两种选择:

使用全局对象

在浏览器中,当对象被 <script> 加载时,您的代码将其用作全局变量。在 TypeScript 中,您必须使用全局声明文件。这里没有使用模块,所以没有import做。

使用打包器或加载器

您可以使用 bundler ,for example Webpack .或者 a loader like SystemJS .

关于TypeScript:如何用窗口对象替换导入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38293586/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com