Theoretically you can use System.normalize() and System.get() to lookup a
module by name synchronously. The normalize feature requires a referrer or
address.

Since browsers are determined to eliminate synchronous scripts, you may as
well deal with the asynchronous System.import() and obnoxious promises
stuff now and save yourself some pain later.

jjb

On Fri, Sep 26, 2014 at 9:40 AM, Konstantin Ikonnikov <ikokos...@gmail.com>
wrote:

> I don't want load module using http request. In my case module already
> defined and I want import it later when I get its name:
>
> ```js
> var moduleName = getModuleName();
> import { foo } from moduleName;
>
> // use foo
> ```
>
>
>
> 2014-09-26 20:00 GMT+04:00 Marius Gundersen <gunder...@gmail.com>:
>
>> And the reason you cannot import a module synchronously is that it would
>> freeze the entire browser until the http request completes, which could be
>> several seconds on a slow internet connection.
>>
>> If you want to import something dynamically you can do it using the API
>> (to be finalized, I believe):
>>
>> ```js
>> var moduleName = 'foo';
>> Loader.import(moduleName).then(function(foo){
>>   //use foo here
>> });
>> ```
>>
>> Marius Gundersen
>>
>> On Fri, Sep 26, 2014 at 5:29 PM, John Barton <johnjbar...@google.com>
>> wrote:
>>
>>> no.
>>>
>>> On Fri, Sep 26, 2014 at 8:12 AM, Konstantin Ikonnikov <
>>> ikokos...@gmail.com> wrote:
>>>
>>>> Can I import module dynamically, but synchronously? Example for common
>>>> js
>>>>
>>>> ```js
>>>> var moduleName = 'foo';
>>>> var foo = require(moduleName);
>>>> ```
>>>>
>>>> In es6 draft I found that ModuleSpecifier must be a StringLiteral
>>>> http://people.mozilla.org/~jorendorff/es6-draft.html#sec-imports
>>>>
>>>> _______________________________________________
>>>> 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
>
>
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to