mirror of
https://github.com/n8n-io/n8n.git
synced 2025-01-13 13:57:29 -08:00
📚 Add docs about how to create own n8n-nodes-module
This commit is contained in:
parent
6ee8638d7c
commit
11db481df4
|
@ -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
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue