Browserify路径和Webstorm配置

3

我使用gulp构建我的项目并使用browserify。 为了使路径解析更加简单,我配置了browserify。

var b = browserify('./app', {paths: ['./node_modules','./src/js']});

问题在于WebStorm IDE不知道这一点,当我需要文件时,它无法帮助我进行智能感知。例如,在以下行上,智能感知不起作用:

var Store = require('lib/account/stores/account-store');

有没有办法让Webstorm IDE知道我的路径设置?


我在使用WebStorm时遇到了类名解析的相似问题,尚未解决,因为它只影响一个库。 - Mathias Vonende
2个回答

1

通过使用符号链接解决了问题。 按照此链接的建议进行操作 https://github.com/substack/browserify-handbook#organizing-modules

符号链接

你可以做的最简单的事情就是将应用程序根目录符号链接到 node_modules/ 目录中。

你知道符号链接也适用于 Windows 吗?

要将项目根目录中的 lib/ 目录链接到 node_modules,请执行以下操作:

ln -s ../lib node_modules/app 现在,您可以从项目的任何位置通过 require('app/foo.js') 来获取 lib/foo.js。


这不是一个好的回答 - 请详细说明您如何使用符号链接来实现此操作。另外,原始答案没有解决您的问题吗? - Richard Williams
感谢您更新您的答案。现在更清晰了。 - Richard Williams

1

我无法帮你完成这个任务。即使是标准的RequireJS baseUrl也没有被采纳 - 请参见WEB-13463。而且你几乎不能期望IDE识别某些gulp/grunt任务添加的技巧。

WebStorm允许将文件夹标记为“资源根目录” - 标记了这种方式的文件夹被视为根文件夹,因此路径是相对于它们解析的。但是,这仅适用于“绝对”URL(带有前导斜杠 - '/lib/account/stores/account-store',而不是'lib/account/stores/account-store'


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接