带有 rxjs 的打字稿
Typescript with rxjs
我目前正在开发一个没有任何模块加载器的打字稿项目。
现在我正在尝试在我的项目中集成 rxjs。但我每次都会收到错误 ReferenceError: exports is not defined
。是否有必要使用模块加载器,如果是的话,你能帮我设置一下吗?我目前正在使用 tsc -w
编译 ts 文件
Main.ts
const mock = of('Hello');
mock.subscribe(res => console.log(res));
index.html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>HM</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="assets/hm-logo.png">
<link rel="stylesheet" type="text/css" href="../node_modules/bootstrap/dist/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="styles.css">
</head>
<body>
<script src="./main.js"></script>
</body>
</html>
感谢@toskv,我在没有任何模块加载器的情况下成功地将 rxjs 集成到打字稿中。为此,我需要考虑以下步骤:
1.Step
将 cdn link 添加到根 HTML(在 head 标签内),如下所示:
<script src="https://unpkg.com/rxjs@6.3.3/bundles/rxjs.umd.min.js"></script>
2.Step
添加一个带有全局变量的rxjs.d.ts文件:
declare var rxjs;
3.Step
在 tsconfig.json 文件中包含 rxjs.d.ts 文件,例如:
"include": [
"src/**/*",
"rxjs.d.ts"
]
4.Step
现在您可以在 ts 文件中使用 rxjs,例如:
const { Observable, Subject, ReplaySubject, from, of, range } = rxjs;
const { map, filter, switchMap } = rxjs.operators;
range(1, 200)
.pipe(filter(x => x % 2 === 1), map(x => x + x))
.subscribe(x => console.log(x));
我目前正在开发一个没有任何模块加载器的打字稿项目。
现在我正在尝试在我的项目中集成 rxjs。但我每次都会收到错误 ReferenceError: exports is not defined
。是否有必要使用模块加载器,如果是的话,你能帮我设置一下吗?我目前正在使用 tsc -w
Main.ts
const mock = of('Hello');
mock.subscribe(res => console.log(res));
index.html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>HM</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="assets/hm-logo.png">
<link rel="stylesheet" type="text/css" href="../node_modules/bootstrap/dist/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="styles.css">
</head>
<body>
<script src="./main.js"></script>
</body>
</html>
感谢@toskv,我在没有任何模块加载器的情况下成功地将 rxjs 集成到打字稿中。为此,我需要考虑以下步骤:
1.Step
将 cdn link 添加到根 HTML(在 head 标签内),如下所示:
<script src="https://unpkg.com/rxjs@6.3.3/bundles/rxjs.umd.min.js"></script>
2.Step
添加一个带有全局变量的rxjs.d.ts文件:
declare var rxjs;
3.Step
在 tsconfig.json 文件中包含 rxjs.d.ts 文件,例如:
"include": [
"src/**/*",
"rxjs.d.ts"
]
4.Step
现在您可以在 ts 文件中使用 rxjs,例如:
const { Observable, Subject, ReplaySubject, from, of, range } = rxjs;
const { map, filter, switchMap } = rxjs.operators;
range(1, 200)
.pipe(filter(x => x % 2 === 1), map(x => x + x))
.subscribe(x => console.log(x));