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