Skip to content Skip to sidebar Skip to footer

Require Js Ruins Code Navigation

require.js states the way of defining objects inside modules with define([requiremens], object) as best way. So every page, or other js file, will do require() call and receive mod

Solution 1:

It's a known issue, please star/vote.

From the issue description:

The dojo library switched to AMD's format define() for loading modules instead of dojo.require(). Previously I was able to use Ctrl+B on dojo.require('path.to.someJs') to jump to the declaration. This does not work on the new format define(['path/to/someJs]', ...).

As PyCharm, WebStorm, PhpStorm and IntelliJ IDEA share the same JavaScript plug-in, this issue also applies to the product that you are using. You will continue to observe the described problem until this bug is fixed. Sorry for the inconvenience.

Solution 2:

WebStorm (at least 6.0.2) supports code navigation with RequireJs if you're defining your modules with the CommonJs wrapper and use the exports and module arguments:

//foo.jsdefine(function(require, exports, module) {
    //use exports to expose properties for code navigation in other modulesexports.bar = function() {}
});

Apparently, it works even if the module using it doesn't use the CommonJs wrapper format:

define(['./foo'], function(foo) {
    foo.bar(); //code navigation works here
}

If the other IDEs use the same JavaScript plug-in as CrazyCoder said, it may work on their newer releases as well.

Post a Comment for "Require Js Ruins Code Navigation"