📚 Add docs about how to create own n8n-nodes-module

This commit is contained in:
Jan Oberhauser 2019-10-03 09:42:18 +02:00
parent 6ee8638d7c
commit 11db481df4

View file

@ -23,6 +23,79 @@ To simplify the development process we created a very basic CLI which creates bo
1. Restart n8n and refresh the window that the new node gets displayed 1. Restart n8n and refresh the window that the new node gets displayed
## Create own custom n8n-nodes-module
If you want to create multiple custom nodes which are either:
- Only for yourself/your company
- Are only useful for a small number of people
- Require many or large dependencies
It is best to create your own `n8n-nodes-module` which can be installed separately.
That is a simple npm package that contains the nodes and is set up in a way
that n8n can automatically find and load them on startup.
When creating such a module the following rules have to be followed that n8n
can automatically find the nodes in the module:
- The name of the module has to start with `n8n-nodes-`
- The `package.json` file has to contain a key `n8n` with the paths to nodes and credentials
- The module has to be installed alongside n8n
An example starter module which contains one node and credentials and implements
the above can be found here:
[https://github.com/n8n-io/n8n-nodes-starter](https://github.com/n8n-io/n8n-nodes-starter)
### Setup to use n8n-nodes-module
To use a custom `n8n-nodes-module` it simply has to be installed alongside n8n.
For example like this:
```bash
# Create folder for n8n installation
mkdir my-n8n
cd my-n8n
# Install n8n
npm install n8n
# Install custom nodes module
npm install n8n-nodes-my-custom-nodes
# Start n8n
n8n
```
### Development/Testing of custom n8n-nodes-module
Works actually the same as for any other npm module.
Execute in the folder which contains the code of the custom `n8n-nodes-module`
which should be loaded with n8n:
```bash
# Build the code
npm run build
# "Publish" the package locally
npm link
```
Then in the folder in which n8n is installed:
```bash
# "Install" the above locally published module
npm link n8n-nodes-my-custom-nodes
# Start n8n
n8n
```
## Node Development Guidelines ## Node Development Guidelines