浏览器化路径和网络风暴配置

Browserify paths and Webstorm configuration

本文关键字:风暴 配置 网络 路径 浏览器      更新时间:2023-09-26

我用gulp构建我的项目并使用browserify。为了使路径解析更容易,我配置了浏览器化

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

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

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

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

你没有办法做到这一点。甚至标准的 RequireJS baseUrl 也尚未得到认可 - 请参阅 WEB-13463。而且您很难指望 IDE 能够识别某些吞咽/咕噜声任务添加的技巧。

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

通过使用符号链接解决了这个问题。遵循此链接中的建议https://github.com/substack/browserify-handbook#organizing-modules

符号链接

您可以做的最简单的事情是符号链接您的应用程序根目录 放入您的node_modules/目录中。

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

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

ln -s ../lib node_modules/应用程序,现在可以从项目中的任何位置 您可以通过执行 require('app/foo.js') 来要求 lib/中的文件 获取 lib/foo.js。