deemix-webui/COMPILE-UI.md

105 lines
2.9 KiB
Markdown
Raw Normal View History

2020-05-08 18:57:15 +02:00
**NOTE: THIS FILE IS NEEDED JUST FOR DEVELOPERS OF THIS PROJECT, IF YOU AREN'T YOU CAN IGNORE IT**
2020-05-08 18:51:57 +02:00
This file explains how to compile files for the WebUI.
# What you need to do just the first time
2020-05-08 18:51:57 +02:00
1. Download and install Node.js, you can download it [here](https://nodejs.org/en/download/) (also installs npm)
2. Once you have finished to install Node.js, check if everything is ok by running in a terminal the commands
```bash
$ node -v
```
and then
```bash
$ npm -v
```
2022-02-04 15:59:37 +01:00
If you see the corresponding versions of node and npm, you can move onto install yarn.
2022-02-04 15:59:37 +01:00
3. Install the yarn package manager by running in a terminal the command
```bash
2022-02-04 15:59:37 +01:00
$ npm install -g yarn
```
2022-02-04 15:59:37 +01:00
You may want to use `sudo` with that if it gives you permission errors.
4. Check if yarn has been installed correctly by running in a terminal the command
```bash
$ yarn --version
```
If you see the version number of yarm, you are ready to code!
5. Go to the root of this project, open your favorite terminal and run
```bash
$ yarn install
```
To work on this webui you will need a working server as well. If you've downloaded this with deemix-gui you can run in a terminal positioned inside the deemix-gui folder the command
```bash
$ yarn install-all
```
To install all dependencies for all the modules (gui, server and webui)
# Scripts
2020-05-07 21:55:25 +02:00
## Development
By simply running
```bash
2022-02-04 15:59:37 +01:00
$ yarn dev
```
2020-10-10 17:38:34 +02:00
you will have 2 tasks running at the same time:
- the server
- the [rollup](https://rollupjs.org/guide/en/) watcher pointing to the configured `.js` file and ready to re-bundle
2020-10-10 17:38:34 +02:00
Note that in development mode 1 more file (`bundle.js.map`) will be created in the public folder. This file will be deleted when running the build command, so you don't need to worry about it.
**You can now go to http://127.0.0.1:6595 and see the app running.**
### Editing files
2022-02-04 16:01:01 +01:00
You can edit `.scss` and `.js` files and simply refresh the page to see your new code directly in the app.
However, if you need to edit the `public/index.html` file you'll have to kill the terminal and re-run `npm run dev` to see your edits.
### Adding files
2022-02-04 15:59:37 +01:00
If you want to add new `.js` or `.vue` files, just add them. deemix uses ES6 synthax, so you'll probably need to export some functions or variables from your new file. Files that will export and import nothing will be ignored by the bundler (rollup).
2022-02-04 15:59:37 +01:00
If you want to add new `.scss` (style) files, you need to import them in the main `style.scss` file. The `.scss` files **must** all start with an underscore _, except for the `style.scss` file.
## Building
When you want to deploy your application, you **must** run
```bash
2022-02-04 15:59:37 +01:00
$ yarn build
```
This is necessary to get
- a bundled `.js` file **minified**
2020-10-10 17:38:34 +02:00
- deleted the `.map` file
2020-10-10 17:38:34 +02:00
in order to drop the final application size (we are talking about MBs, maps are heavy).
# Other
If you notice that another team member installed or updated one or more new packages, just run
```bash
2022-02-04 15:59:37 +01:00
$ yarn install
```
and you will be fine.