For completeness I should mention that there's of course a built-in way to
have multiple source files. To import "foo.js", use "const Foo =
imports.foo;", and to import "subdir/bar.js" use "const Bar =
imports.subdir.bar;"

To set the search path for modules, use "imports.searchPath" which is an
array so you can push() or unshift() extra entries onto it.

The "imports.package" module simplifies the process of setting up the
search path a bit. Unfortunately it's not well documented but you can take
a look at how other apps, e.g. gnome-sound-recorder, use it:
https://gitlab.gnome.org/GNOME/gnome-sound-recorder/blob/master/src/org.gnome.SoundRecorder.in
https://gitlab.gnome.org/GNOME/gnome-sound-recorder/blob/master/src/main.js

Support for ES6 modules and the "import" keyword is in progress, follow
along here: https://gitlab.gnome.org/GNOME/gjs/merge_requests/150

Best regards,
Philip

On Fri, Nov 9, 2018, 11:45 , <makep...@firemail.cc> wrote:

> See also https://github.com/makepost/gunit for a test runner, and
> https://github.com/sammydre/ts-for-gjs for autocomplete and type
> checking. I actually think it's good not to replicate core Node modules
> because we have GLib and other introspected GNOME libs with
> language-independent APIs.
>
> On 2018-11-09 18:22, Andrea Giammarchi via javascript-list wrote:
> > if you are familiar with CommonJS, I suggest you to use cgjs
> >
> > https://github.com/cgjs/cgjs#cgjs--
> >
> > it's not really a 1:1 nodejs replica when it comes to core modules,
> > but at least it doesn't require you to learn a module system that only
> > GJS uses and that will inevitably fade away as soon as ES2015 static,
> > or even dynamic import, will be introduced.
> >
> > Feel free to see the circus around configuring folders and imports
> > otherwise directly via GJS.
> >
> > On Fri, Nov 9, 2018 at 5:18 PM Tony Houghton <h...@realh.co.uk> wrote:
> >
> >> gjs has attracted my attention, but the tutorials and examples are
> >> rather simple so I can't work out what you're supposed to do to make
> >> an application with multiple source files. Do you have to write a
> >> script to concatenate them in the right order, or
> >> can you use Javascript's import keyword?
> >>
> >> --
> >>
> >> TH
>
_______________________________________________
javascript-list mailing list
javascript-list@gnome.org
https://mail.gnome.org/mailman/listinfo/javascript-list

Reply via email to