COMPILE::JS should not be necessary, but if you're targeting JS, you should add the doc comment with the @externs tag. By default, Royale uses the Google Closure compiler, which aggressively renames properties and methods to make the generated code smaller. The @externs tag tells it not to rename any of the APIs on that particular class. If you have an external JS library included with <script>, you want to avoid this renaming or your calls to the external library will fail.
Now, I saw that you said that you don't have the @externs tag, and things are working fine. It's worth mentioning that Closure compiler sometimes skips this renaming (I'm not sure why, but maybe it depends on your app's complexity). In the future, your code may cross some threshold where Clsoure compiler decides that it has changed its mind and wants to do the renaming after all, and suddenly your code that was working correctly will break. I had that happen a month or two ago. Code that was working for over a year suddenly had a couple of APIs renamed in the generated JS and it took me half an hour to realize it was because I had forgotten @externs on code that I hadn't touched in a very long time. (There's also a way to pass a certain compiler option through Royale to Closure compiler to disable the "ADVANCED_OPTIMIZATIONS" that handles the renaming. If you happen to be using the "SIMPLE_OPTIMIZATIONS" instead, you can probably get away with skipping @externs. I don't think many people are using this option, but it's worth mentioning as another possible reason why you might not have had an issue when @externs is missing.) - Josh On 2019/06/03 17:36:56, Kenny Lerma <[email protected]> wrote: > Looking at the demo, I noticed you added @externs and COMPILE::JS? Is this > necessary? > I'm just curious since the ActionsScript I've done for creating external JS > code completion and SWC files too, I'm not adding these. > > Kenny > > On Mon, Jun 3, 2019 at 12:25 PM Carlos Rovira <[email protected]> > wrote: > > > Hi Andrew! > > > > just finished the last blog example, could you please take a look and fix > > whatever aggression against the English language that may have been > > committed? :) > > > > > > https://royale.codeoscopic.com/using-external-javascript-libraries-in-apache-royale/ > > > > To the rest of folks: please let me know if you thing something is wrong or > > must be modified in some way. > > > > thanks in advance > > > > > > -- > > Carlos Rovira > > http://about.me/carlosrovira > > >
