获取节点模块目录的路径

时间:2017-02-15 12:08:04

标签: javascript node.js import npm ecmascript-6

我想获得一些驻留在NPM包中的文件。

目前我正在使用Vue和验证器,我想获取一个本地化文件来进行翻译。

我像你通常那样导入了验证器:

import VeeValidate from 'vee-validate';

此程序包有一个dist目录,其中还包含locale目录。这个目录有一些我想要的文件。

我可以创建一个直到node_modules文件夹的路径,然后再次向下移动。但这似乎非常草率和容易出错。

有没有办法直接获取包的路径,以便我可以导入我需要的文件?

2 个答案:

答案 0 :(得分:2)

无需将目录树明确爬到node_modules或使用第三方库。

当引用没有位置元素的模块时,例如"./",Node将解析器的光标放在包的文件夹中(如果存在 - 否则会出错)。

例如:

import enGB from 'vee-validate/dist/locale/en-GB.js';

答案 1 :(得分:1)

请参阅get-installed-path模块:

来自文档:

  

获取安装给定软件包的安装路径。适用于全局和本地安装的包。也适用于Windows。