Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!eu.feeder.erje.net!xlned.com!feeder3.xlned.com!newsfeed.xs4all.nl!newsfeed3.news.xs4all.nl!xs4all!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.017 X-Spam-Evidence: '*H*': 0.97; '*S*': 0.00; 'yet.': 0.04; 'widely': 0.05; 'subject:Python': 0.06; 'subject:module': 0.09; 'python': 0.11; 'advice,': 0.16; 'from:addr:pobox.com': 0.16; 'from:addr:skip': 0.16; 'modules.': 0.16; 'programmer,': 0.16; 'subject:import': 0.16; 'sender:addr:gmail.com': 0.17; 'appears': 0.22; 'exists': 0.24; 'pointer': 0.24; 'skip': 0.24; "i've": 0.25; 'subject:/': 0.26; 'related': 0.29; 'message-id:@mail.gmail.com': 0.30; "i'm": 0.30; 'trouble': 0.34; 'subject:with': 0.35; 'but': 0.35; 'received:google.com': 0.35; 'thanks': 0.36; 'subject:?': 0.36; 'to:addr:python-list': 0.38; 'anything': 0.39; 'to:addr:python.org': 0.39; 'how': 0.40; 'most': 0.60; 'provide': 0.64; 'here': 0.66; 'hoping': 0.75; 'lack': 0.78; 'add-on': 0.84; 'subject:system': 0.84; 'novice': 0.91 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:date:message-id:subject:from:to:content-type; bh=xBA5NBcX0uBjfcHBhZE8wpy0XFIgKXypSecKQ5+46GM=; b=p2IIzaeR3EDYt24JAg3UnI3kS3Mjc0R1nn7ROX2Ww/2xqo+MnkGAWu4lYRMfLa7Zv4 6hPhl8MC1vWA9QWMQkNUDBQNm6EsmBDv5JgWBHnefV+xftPzllaE+40rjQ5Pn45i55p1 PhCLsDEDoSFo8/AAzCf7pq4C8WA7yjOTCfswVL13Dlbvse4pTql0pvoEO9+yOyZLQEFi 1BiGX4fNPMHDMPQMetMlhXdU1cksUsjn4qTxZjUh0c8No1gXraCHGZH+USqaYFhWVh4I x7HNruuADW0CE2wJOAWOdnQ+MgDHmsTHcMyhGYbf0HU5mdWzJF0Q70IcN8bKlSE4tmoa il+A== MIME-Version: 1.0 X-Received: by 10.50.78.167 with SMTP id c7mr7611951igx.6.1407521307945; Fri, 08 Aug 2014 11:08:27 -0700 (PDT) Sender: skip.montanaro@gmail.com Date: Fri, 8 Aug 2014 13:08:27 -0500 X-Google-Sender-Auth: KlwpXKhvbZ0EFbixa8e93Rla5Ko Subject: Comparisons of Python's module/import system with JavaScript? From: Skip Montanaro To: Python Content-Type: text/plain; charset=UTF-8 X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 13 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1407521311 news.xs4all.nl 2914 [2001:888:2000:d::a6]:38982 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:75900 I'm struggling with some JavaScript issues related to it's lack of good support for modules. I know RequireJS exists (and appears to be the most widely used add-on for this stuff), but as a novice JS programmer, I'm having trouble wrapping my head around just what it does. In particular, I don't see how it injects names into the scope which calls require(). I'm hoping someone here understands both the Python and JS models (preferably as represented by RequireJS) and can provide some advice, perhaps a pointer to a blog post? I've not found anything yet. Thanks Skip