All Projects → evilz → fable-ant-design

evilz / fable-ant-design

Licence: MIT license
Ant Design bindings for Fable Elmish

Programming Languages

F#
602 projects
CSS
56736 projects
javascript
184084 projects - #8 most used programming language

Labels

Projects that are alternatives of or similar to fable-ant-design

dva-graphql-lokka-user-dashboard
A Study Project Related to Dva.js, GraphQL, Graph.cool, Lokka
Stars: ✭ 20 (-13.04%)
Mutual labels:  antd
SAFE-Stack.github.io
Website for Saturn + Azure + Fable + Elmish aka SAFE-Stack
Stars: ✭ 17 (-26.09%)
Mutual labels:  fable
CodeSignal-Practice Solutions
No description or website provided.
Stars: ✭ 28 (+21.74%)
Mutual labels:  antd
react-antd-admin
react-antd-admin 是一个后台集成解决方案,它基于 react 和 antd; 内置了动态路由,标签页缓存,权限验证、切换功能
Stars: ✭ 42 (+82.61%)
Mutual labels:  antd
ui-nuclear-mobile
A configurable Mobile UI based on Antd Mobile and Vue
Stars: ✭ 61 (+165.22%)
Mutual labels:  antd
Yobo
F# Yoga Class Booking System
Stars: ✭ 88 (+282.61%)
Mutual labels:  fable
tiny-qiniu-request
tiny-qiniu for rc-upload or antd upload component `customRequest` property
Stars: ✭ 13 (-43.48%)
Mutual labels:  antd
bank-client
Frontend Application using React.js with Hooks, Redux, Saga, Ant Design, styled-components and Jest
Stars: ✭ 57 (+147.83%)
Mutual labels:  antd
api-server
OpenSCRM是一套基于Go和React的高质量企业微信私域流量管理系统 。遵守Apache2.0协议,全网唯一免费商用。企业微信、私域流量、SCRM。
Stars: ✭ 981 (+4165.22%)
Mutual labels:  antd
lokole
Source code for the Lokole project. Lokole enables communities in the Congo DRC to pool resources to access efficient communication via email at an affordable price.
Stars: ✭ 37 (+60.87%)
Mutual labels:  antd
raspberry-fsharp
F# full-stack IoT starter project for Raspberry Pi
Stars: ✭ 33 (+43.48%)
Mutual labels:  fable
hacn
A "monad" or DSL for creating React components using Fable and F# computation expressions
Stars: ✭ 34 (+47.83%)
Mutual labels:  fable
rncms
🔥 Rncms 是基于 Koa2 + Webpack4 + Reactjs 结构简单 Cms 易于开发企业站和文档系统【已废弃】
Stars: ✭ 52 (+126.09%)
Mutual labels:  antd
Feliz.Router
A router component for React and Elmish that is focused, powerful and extremely easy to use.
Stars: ✭ 66 (+186.96%)
Mutual labels:  fable
react-jsonschema-formbuilder
No description or website provided.
Stars: ✭ 45 (+95.65%)
Mutual labels:  antd
V2releases
A friendly ARM assembler and simulator for educational use
Stars: ✭ 46 (+100%)
Mutual labels:  fable
hotlist
今日热榜(前端)
Stars: ✭ 51 (+121.74%)
Mutual labels:  antd
SAFE.Simplified
A lightweight alternative template of SAFE for happy cross-IDE full-stack F# development
Stars: ✭ 97 (+321.74%)
Mutual labels:  fable
sunrise
The rise of a new project with React, Redux-Saga and React-Router
Stars: ✭ 13 (-43.48%)
Mutual labels:  antd
virtualized-table-for-antd
the virtualized table component for ant design
Stars: ✭ 193 (+739.13%)
Mutual labels:  antd

Fable.Elmish.React Template

This template can be used to generate a simple web app with Fable and Elmish. You can find more templates by searching Fable.Template packages in Nuget.

Requirements

Although is not a Fable requirement, on macOS and Linux you'll need Mono for other F# tooling like Paket or editor support.

Editor

The project can be used by editors compatible with the new .fsproj format, like VS Code + Ionide, Emacs with fsharp-mode or Rider. Visual Studio for Mac is also compatible but in the current version the package auto-restore function conflicts with Paket so you need to disable it: Preferences > Nuget > General.

Installing the template

In a terminal, run dotnet new -i Fable.Template.Elmish.React::* to install or update the template to latest version.

In some shells you many need quotations: dotnet new -i "Fable.Template.Elmish.React::*". If you use dotnet SDK 2, you should only need to type dotnet new -i Fable.Template.Elmish.React.

Creating a new project with the template

In a terminal, run dotnet fable-elmish-react -lang F# to create a project in the current directory. Type dotnet new fable-elmish-react -n awesome instead to create a subfolder named awesome and put the new project there.

The project will have the name of the directory. You may get some issues if the directory name contains some special characters like hyphens

Building and running the app

  • Install JS dependencies: npm install
  • Move to src folder: cd src
  • Install F# dependencies: dotnet restore
  • Start Fable daemon and Webpack dev server: dotnet fable npm-start
  • In your browser, open: http://localhost:8080/

dotnet fable yarn-start (or npm-start) is used to start the Fable daemon and run a script in package.json concurrently. It's a shortcut of yarn-run [SCRIP_NAME], e.g. dotnet fable yarn-run start.

If you are using VS Code + Ionide, you can also use the key combination: Ctrl+Shift+B (Cmd+Shift+B on macOS) instead of typing the dotnet fable yarn-start command. This also has the advantage that Fable-specific errors will be highlighted in the editor along with other F# errors.

Any modification you do to the F# code will be reflected in the web page after saving. When you want to output the JS code to disk, run dotnet fable yarn-build (or npm-build) and you'll get a minified JS bundle in the public folder.

Project structure

Paket

Paket is the package manager used for F# dependencies. It doesn't need a global installation, the binary is included in the .paket folder. Other Paket related files are:

  • paket.dependencies: contains all the dependencies in the repository.
  • paket.references: there should be one such a file next to each .fsproj file.
  • paket.lock: automatically generated, but should committed to source control, see why.
  • Nuget.Config: prevents conflicts with Paket in machines with some Nuget configuration.

Paket dependencies will be installed in the packages directory. See Paket website for more info.

npm

  • package.json: contains the JS dependencies together with other info, like development scripts.
  • package-lock.json: is the lock file created by npm5.

JS dependencies will be installed in node_modules. See npm website for more info.

Webpack

Webpack is a bundler, which links different JS sources into a single file making deployment much easier. It also offers other features, like a static dev server that can automatically refresh the browser upon changes in your code or a minifier for production release. Fable interacts with Webpack through the fable-loader.

  • webpack.config.js: is the configuration file for Webpack. It allows you to set many things: like the path of the bundle, the port for the development server or Babel options. See Webpack website for more info.

F# source files

The template only contains two F# source files: the project (.fsproj) and a source file (.fs) in src folder.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].