Rx javascript: Difference between revisions
Jump to navigation
Jump to search
Line 41: | Line 41: | ||
rules: [ | rules: [ | ||
{ | { | ||
test: /.ts$/, | test: /\.js$/, | ||
enforce: 'pre', | |||
use: ['source-map-loader'], | |||
}, | |||
{ | |||
test: /\.ts$/, | |||
use: "ts-loader", | use: "ts-loader", | ||
exclude: "/node_modules", | exclude: "/node_modules", |
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: /\.js$/,
enforce: 'pre',
use: ['source-map-loader'],
},
{
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)