The following solution has worked very well for us:

import './foo/index.js';
means resolve './foo/index.js' relative to the importing file.

All of the rest mean look up 'foo' in the developer's mapping of names,
replacing 'foo' with a path that is then used to resolve the import.

To be sure 'foo' 'foo/index' and 'foo/' would likely fail after lookup
since they don't name files.

(This kind of thing cannot be "up to the host". If TC39 passes on deciding,
then developers will).

jjb

On Thu, Feb 5, 2015 at 5:01 AM, Glen Huang <curvedm...@gmail.com> wrote:

> I believe this is out the scope of ecmascript. It’s up to the host to
> determine how the paths are resolved.
>
> See
> https://people.mozilla.org/~jorendorff/es6-draft.html#sec-hostnormalizemodulename
>
> On Feb 5, 2015, at 8:51 PM, monolithed <monolit...@gmail.com> wrote:
>
> I could not find an answer in the specification regarding the following
> cases:
>
> import './foo/index.js'
> import 'foo/index.js'
> import 'foo/index'
> import 'foo'
> import 'foo/'
>
>
> Is there a difference?
>
> Node.js lets create an 'index.js' file, which indicates the main include
> file for a directory.
> So if you call require('./foo'), both a 'foo.js' file as well as an
> 'foo/index.js' file will be considered, this goes for non-relative includes
> as well.
>
> _______________________________________________
> es-discuss mailing list
> es-discuss@mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
>
>
>
> _______________________________________________
> es-discuss mailing list
> es-discuss@mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
>
>
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to