When developing a UI5 project on your local system, you should use the UI5 Server (
ui5 serve) and not the UI5 Builder (
ui5 build). Building a project should only be required when deploying it.
However, you might have good reasons to also use the UI5 Builder during development. In such cases, feel free to let us know! Maybe your use case could be covered by a future enhancement of the UI5 Server.
UI5 Tooling differentiates between "framework dependencies" and "project dependencies".
Framework dependencies are generally libraries and themes provided by the SAP frameworks "OpenUI5" and "SAPUI5". UI5 Tooling will take care of downloading them and handling their versions for you. Please see the corresponding documentation on both options:
Would you like to work on an application project and one or more of its dependencies at the same time? We got you covered!
Example: Your Directory Structure
my-app/ \_ node_modules/ \_ webapp/ \_ ui5.yaml \_ package.json my-reuse-library/ \_ node_modules/ \_ src/ \_ test/ \_ ui5.yaml \_ package.json
my-app should already define a dependency to
my-reuse-library. So, after running the
npm install command, a copy of the "my-reuse-library"-package should be retrieved from the package registry and added to my-app's
Now all you need to do is replacing this copy of the
my-reuse-library package with a link to the
my-reuse-library project located somewhere on your computer. In this example it is right next to
my-app, but that doesn't really matter.
First, in the directory of the
my-reuse-library project, create a global link:
Then, in the
my-app directory, use that link to replace the registry package:
npm link my-reuse-library
package.jsonand not necessarily the directory or
That's it. You can check whether the linking worked by executing
ui5 tree in the
my-app directory and looking for the path attributes in its output:
├─ id: my-app ├─ version: 1.0.0 ├─ path: /my-app └─ dependencies ├─ 0 │ ├─ id: my-reuse-library │ ├─ version: 1.0.0 │ ├─ path: /my-reuse-library │ └─ dependencies [...]
HTTP/2 Development Webserver¶
The UI5 Tooling contains a web server to serve the project via HTTP/2 protocol.
ui5 serve --h2
This requires an SSL certificate. You are guided through the automatic generation process. Also see the UI5 Server documentation