Tetris in fable
Tetris implementation in Fable.
Requirements
- dotnet SDK 3.0 or higher
- node.js with npm
- An F# editor like Visual Studio, Visual Studio Code with Ionide or JetBrains Rider.
Building and running the app
- Install JS dependencies:
npm install - Install F# dependencies:
npm start - After the first compilation is finished, in your browser open: http://localhost:8080/
Any modification you do to the F# code will be reflected in the web page after saving.
Project structure
npm
JS dependencies are declared in package.json, while package-lock.json is a lock file automatically generated.
Webpack
Webpack is a JS bundler with extensions, like a static dev server that enables hot reloading on code changes. Fable interacts with Webpack through the fable-loader. Configuration for Webpack is defined in the webpack.config.js file. Note this sample only includes basic Webpack configuration for development mode, if you want to see a more comprehensive configuration check the Fable webpack-config-template.
F
The sample only contains two F# files: the project (.fsproj) and a source file (.fs) in the src folder.
Web assets
The index.html file and other assets like an icon can be found in the public folder.