[Sugar-devel] sugar-web - How to load non-AMD js modules / libs?

Rogelio Mita rogeliomita at activitycentral.com
Mon Nov 4 16:03:19 EST 2013


2013/11/4 Code <iraguet at activitycentral.com>

> I think this is off-topic...
> BTW: perhaps you wanna see this thread from RequireJS' list<https://groups.google.com/forum/#!searchin/requirejs/define$20syntax/requirejs/MEBMkF2KdF8/mxvC-pJiy8QJ> where James
> Burke (core developer of RequireJS lib) talks about these syntax forms.
> If there is something realted to this to add, would u open a new thread,
> please?
>
>
> Getting back to the former topic (loading non-AMD modules):
> There is another approach, require.config() calls are additive, so it is
> possible to call config from other file than loader.js and require merges
> it.
>
> example of a require.config() from activity.js:
> https://gist.github.com/code-sur/7305059  ...loader.js stills as it is in
> sugar-web-template
>
> pros:
> * no need to modify loader.js
> * some developers would set other requirejs options
>
> cons:
> * whole config may spreads among many files
>
> The last "con" may be a "pro" if you want to clearly separete the
> framework config from the activity specific config
>

+1

Reviewing the documentation (Write your own web
activity<http://developer.sugarlabs.org/activity.md.html>) and
noting that loader.js is in the place of not to modify files, sounds good
"con may be a pro" and "separete the framework config from the specific
activity config" is a sufficient reason for me. Having separate specific
configuration is always a good idea.


>
> Code
>
>
>
>
>
>
> On Sun, Nov 3, 2013 at 7:56 PM, Rogelio Mita <
> rogeliomita at activitycentral.com> wrote:
>
>> Thanks for answer!
>>
>>
>> 2013/11/3 Daniel Narvaez <dwnarvaez at gmail.com>
>>
>>> Hi,
>>>
>>> As far as I know there is no good reason for that. Probably it was
>>> written when we wasn't very familiar with requirejs. I had already fixed
>>> one instance of this
>>>
>>>
>>> https://github.com/sugarlabs/sugar-web/commit/8c15d46ac5e6d2fe46db3588322ab2b92907987f
>>>
>>>
>>> On Sunday, 3 November 2013, Rogelio Mita wrote:
>>>
>>>> a small intrigue was presented to us related to the way of defining the
>>>> requirejs "activity" module:
>>>> https://github.com/sugarlabs/sugar-web-template/blob/master/js/activity.js
>>>>
>>>> We note that there are some alternatives to define modules proposed by
>>>> requirejs: Define a Module with Simplified CommonJS Wrapper<http://requirejs.org/docs/api.html#cjsmodule> and
>>>> Define a Module as a Function<http://requirejs.org/docs/api.html#funcmodule>, and
>>>> we no found any other apparent reason that this: *"If you wish to
>>>> reuse some code that was written in the traditional CommonJS module format
>>>> it May be Difficult to re-work to the array of dependencies used above, and
>>>> you May prefer to Have direct alignment of dependency name to the local
>>>> Variable used for that dependency "*.
>>>> Then, there is some particularity reason for you chose to use the
>>>> "Define a CommonJS Module with Simplified Wrapper" way?, it's just a
>>>> curiosity that can help us solve the intrigue =).
>>>> Maybe for having a reason for
>>>> var activity = require("sugar-web/activity/activity"); ?
>>>>
>>>>
>>>> 2013/11/1 Daniel Narvaez <dwnarvaez at gmail.com>
>>>>
>>>>> Yeah I think it make sense to mention it in the documentation, it's
>>>>> something every developer will run into. I'd suggest to try and keep our
>>>>> own documentation as short as possible and link out to the requirejs shim
>>>>> doc though, to avoid duplication and help maintenance.
>>>>>
>>>>> sounds good
>>>>
>>>>
>>>>>
>>>>> On Saturday, 2 November 2013, Code wrote:
>>>>>
>>>>>> Thanks, Daniel!
>>>>>> I'd rather use "shim", too.
>>>>>>
>>>>>> I think it's a common need to have non-AMD dependencies when building
>>>>>> an activity.
>>>>>> What do you think about finding out a canonical way to achieve this
>>>>>> and write it down in "write your own activity" doc?
>>>>>>
>>>>>> I'm willing to make a pull-request with the updated doc.
>>>>>>
>>>>>> Thanks again,
>>>>>> Code
>>>>>>
>>>>>>
>>>>>> On Fri, Nov 1, 2013 at 6:18 PM, Daniel Narvaez <dwnarvaez at gmail.com>wrote:
>>>>>>
>>>>>>> I think we have been suggesting to use the shim. Modifying loader.js
>>>>>>> should be fine, the template one shouldn't change often.
>>>>>>>
>>>>>>>
>>>>>>> On 1 November 2013 22:02, Code <iraguet at activitycentral.com> wrote:
>>>>>>>
>>>>>>>> Hello, list!
>>>>>>>> I'd like to add a non-AMD lib (AngularJS in this case) to my
>>>>>>>> activity.
>>>>>>>>
>>>>>>>> Here only points out how to add AMD ones:
>>>>>>>>
>>>>>>>> http://developer.sugarlabs.org/activity.md.html#using%20other%20javascript%20libraries
>>>>>>>>
>>>>>>>> Of course there are workarounds like adding script tags (I'd rather
>>>>>>>> not) or setting up the "shim" option from RequireJS config...
>>>>>>>>
>>>>>>>> https://github.com/code-sur/web-activity-POC/blob/master/js/loader.js
>>>>>>>>
>>>>>>>> But it seems that I shouldn't be touching the loader.js file, isn't
>>>>>>>> it?
>>>>>>>>
>>>>>>>> Is there a standard/preferred way to achieve this?
>>>>>>>>
>>>>>>>>
>>>>>>>> Thanks,
>>>>>>>> Code
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Sugar-devel mailing list
>>>>>>>> Sugar-devel at lists.sugarlabs.org
>>>>>>>> http://lists.sugarlabs.org/listinfo/sugar-devel
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Daniel Narvaez
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>> --
>>>>> Daniel Narvaez
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Sugar-devel mailing list
>>>>> Sugar-devel at lists.sugarlabs.org
>>>>> http://lists.sugarlabs.org/listinfo/sugar-devel
>>>>>
>>>>>
>>>>
>>>> Thanks!
>>>>
>>>> --
>>>> Roger
>>>>
>>>> Activity Central <http://activitycentral.com/>
>>>>
>>>
>>>
>>> --
>>> Daniel Narvaez
>>>
>>>
>>
>>
>> --
>> Roger
>>
>> Activity Central <http://activitycentral.com/>
>>
>
>


-- 
Roger

Activity Central <http://activitycentral.com/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sugarlabs.org/archive/sugar-devel/attachments/20131104/7ec8c584/attachment-0001.html>


More information about the Sugar-devel mailing list