【问题标题】:Browserify paths and Webstorm configurationBrowserify 路径和 Webstorm 配置
【发布时间】:2015-03-10 14:26:51
【问题描述】:

我使用 gulp 构建我的项目并使用 browserify。 为了使路径解析更容易我configuratedbrowserify

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

问题是 WebStorm IDE 不知道这一点,并且在我需要文件时无法帮助我进行智能感知。例如智能感知不适用于以下行

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

有什么方法可以让 Webstorm IDE 知道我的路径设置?

【问题讨论】:

  • 我有一个与 WebStorm 和类名解析类似的问题,还没有解决,因为它只影响一个库

标签: javascript npm webstorm browserify


【解决方案1】:

您无法做到这一点。即使是标准的 RequireJS baseUrl 也尚未得到认可 - 请参阅 WEB-13463。而且你很难指望 IDE 能够识别某些 gulp/grunt 任务添加的技巧。

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

【讨论】:

    【解决方案2】:

    通过使用符号链接解决了这个问题。 遵循此链接的建议 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/ 中的文件 获取 lib/foo.js。

    【讨论】:

    • 这不是一个好的答案 - 请详细说明您如何使用符号链接来实现这一点。原始答案也没有解决您的问题吗?
    • 感谢您更新您的答案。现在清楚多了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-20
    • 2018-08-03
    • 2014-04-27
    • 1970-01-01
    相关资源
    最近更新 更多