Typescript导入导出的类会发出require(..),从而导致浏览器错误
Typescript importing exported class emits require(...) which produces browser errors
我在谷歌上搜索过,显然没有偶然发现解释。我用Typescript编写,最终目标是拥有一个.js文件(或多个),我可以通过HTML中的脚本标记引用该文件。
按钮.ts
...
import * as BF fro "./button-form.ts";
...
发射。。。
按钮.js
...
var BF = require("./button-form");
...
它不会在浏览器中运行,因为require()没有定义。
同样。。。
按钮
...
export class ButtonForm {
...
发射。。。
js按钮
...
exports.ButtonForm = ButtonForm;
...
问题
由于"require"answers"exports",我无法在浏览器中执行此javascript。在我看来,在TS中导出和导入类引用是合适的,但输出不是我可以使用的。这里一定有知识差距,但我不确定我在寻找什么。
如果您不打算使用模块系统(如requirejs),则不需要import
,而是使用/// <reference path="..." />
例如:
A.ts
namespace A {
export function echo(value: any): void {
console.log(`A.echo: ${ value }`);
}
}
B.ts
/// <reference path="A.ts" />
namespace B {
export function echo(value: any): void {
A.echo(value);
console.log(`B.echo: ${ value }`);
}
}
在你的html:
<head>
<script src="A.js"></script>
<script src="B.js"></script>
<script>
B.echo("hey");
</script>
</head>
您可以在这里阅读更多关于它的信息:命名空间和模块
您可以使用https://www.npmjs.com/package/require-bro
首先包括require-bro.js,然后包括其余的js,最后可以使用require。函数只需要在全局窗口对象中进行搜索。
<script src="require-bro.js"></script>
<script src="example-one.js"></script>
<script src="example-two.js"></script>
在示例-two.js中,您可以执行以下操作:
var exampleOne = require('example-one');
var exampleTwo = {} // do your magic
相关文章:
- 是什么让一个“;Uncaught RangeError:超过了最大调用堆栈大小“;错误(Chrome,在其他浏览器中显示
- 使用(navigator.geolocation)检测浏览器功能错误
- Typescript导入导出的类会发出require(..),从而导致浏览器错误
- 为什么浏览器没有为语法错误抛出异常
- 浏览器错误的javascript浮点计算
- 谷歌浏览器错误
- jquery ajax 调用导致浏览器错误
- 抓取外部网站,但返回“您必须在此站点上使用支持 JavaScript 的浏览器”错误
- 谷歌浏览器错误地计算了元素的高度
- HTML5 音频元素 - 某些 Android 浏览器错误报告的曲目长度
- HTML5画布未更新:浏览器错误或我做错了什么
- 使用数据URI无法显示多个图像:静默浏览器错误
- document.write上的浏览器错误
- 谷歌浏览器错误与JavaScript
- 仅Chrome浏览器错误:XMLHttpRequest加载资源失败
- 如何从脚本访问浏览器错误信息
- ReferenceError在Google Chrome上,但在Firefox上没有(浏览器错误?)
- POST/Redirect引发“连接已重置”浏览器错误
- 节点.js浏览器错误无法获取/
- 浏览器错误"页面错误"-主要是IE,但页面渲染OK.适当的方法