Rx javascript: Difference between revisions
Jump to navigation
Jump to search
Line 74: | Line 74: | ||
==Scripts Configuration== | ==Scripts Configuration== | ||
In the package.json we can not set our scripts for npm | In the package.json we can not set our scripts for npm | ||
<syntaxhighlight lang=" | <syntaxhighlight lang="json"> | ||
"scripts": { | "scripts": { | ||
"start": "webpack-dev-server --watch --inline", | "start": "webpack-dev-server --watch --inline", | ||
"postinstall": "typings install" | "postinstall": "typings install" | ||
} | } | ||
</syntaxhighlight> | |||
=Basic Example= | |||
Quite liked the explanation but it would be nice if there was an interface for this rather than just pojs - see getting the lingo. Anyway your responsibility is to provide a class which implements next, error and complete. You do not need to implement all but it is shown here | |||
<syntaxhighlight lang="ts"> | |||
import { from as ObservableFrom } from 'rxjs'; | |||
let numbers = [1,2,3,40] | |||
let values = ObservableFrom(numbers) | |||
class MyObserverable | |||
{ | |||
next(value) { | |||
console.log(`"Value received was ${value}`) | |||
} | |||
error(e) { | |||
console.error(`We had an error ${e}`) | |||
} | |||
complete() { | |||
console.log("Complete") | |||
} | |||
} | |||
values.subscribe(new MyObserverable) | |||
</syntaxhighlight> | </syntaxhighlight> |
Revision as of 03:45, 2 September 2020
Introduction
Packages
The course used the following tools
"dependencies": {
"rxjs": "^6.6.2"
},
"devDependencies": {
"ts-loader": "^8.0.3",
"typescript": "^4.0.2",
"typings": "^2.1.1",
"webpack": "^4.44.1",
"webpack-cli": "^3.3.12",
"webpack-dev-server": "^3.11.0"
}
Typescript Configuration
I used the following tsconfig.json.
{
"compilerOptions": {
"target": "ES5",
"module": "commonjs",
"sourceMap": true
}
}
Webpack Configuration
Specify
- the entry point
- the output file
- add script tag to index.html
- Provide module loaders, which consists of a test and which loader to use
- Provide how Webpack should resolve modules
module.exports = {
entry: "./main",
output: {filename: "app.js"},
module: {
rules: [
{
test: /.ts$/,
use: "ts-loader",
exclude: "/node_modules",
}
]
},
resolve: {
extensions: [
".ts",
".js"
],
}
}
And the main.ts
alert("ok")
And in the Index.html
<html>
<head>
<title>RxJs</title>
</head>
<body>
<div>hello</div>
<script src="app.js"></script>
</body>
</html>
Scripts Configuration
In the package.json we can not set our scripts for npm
"scripts": {
"start": "webpack-dev-server --watch --inline",
"postinstall": "typings install"
}
Basic Example
Quite liked the explanation but it would be nice if there was an interface for this rather than just pojs - see getting the lingo. Anyway your responsibility is to provide a class which implements next, error and complete. You do not need to implement all but it is shown here
import { from as ObservableFrom } from 'rxjs';
let numbers = [1,2,3,40]
let values = ObservableFrom(numbers)
class MyObserverable
{
next(value) {
console.log(`"Value received was ${value}`)
}
error(e) {
console.error(`We had an error ${e}`)
}
complete() {
console.log("Complete")
}
}
values.subscribe(new MyObserverable)