dnscontrol/docs/_functions/global/require.md
Tom Limoncelli 061ea63322
require() should handle paths as relative (like nodeJS) (#443)
* Integrate @nlowe's documentation and tests
* Use filepath.Clean() instead of filepath.Abs()
* Use a stackless implementation
2019-01-29 10:29:00 -05:00

52 lines
988 B
Markdown

---
name: require
parameters:
- path
---
`require(...)` behaves similarly to its equivalent in node.js. You can use it
to split your configuration across multiple files. If the path starts with a
`.`, it is calculated relative to the current file. For example:
{% include startExample.html %}
{% highlight js %}
// dnsconfig.js
require('kubernetes/clusters.js');
D("mydomain.net", REG, PROVIDER,
IncludeKubernetes()
);
{%endhighlight%}
{% highlight js %}
// kubernetes/clusters.js
require('./clusters/prod.js');
require('./clusters/dev.js');
function IncludeKubernetes() {
return [includeK8Sprod(), includeK8Sdev()];
}
{%endhighlight%}
{% highlight js %}
// kubernetes/clusters/prod.js
function includeK8Sprod() {
return [ /* ... */ ];
}
{%endhighlight%}
{% highlight js %}
// kubernetes/clusters/dev.js
function includeK8Sdev() {
return [ /* ... */ ];
}
{%endhighlight%}
{% include endExample.html %}