【问题标题】:Get the path to a node module's directory获取节点模块目录的路径
【发布时间】:2017-07-04 02:10:01
【问题描述】:

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

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

我已经像您通常那样导入了验证器:

import VeeValidate from 'vee-validate';

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

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

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

【问题讨论】:

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


    【解决方案1】:

    无需显式爬升目录树到node_modules 或使用第三方库。

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

    例如:

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

    【讨论】:

      【解决方案2】:

      参见get-installed-path 模块:

      来自文档:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-02-20
        • 2016-05-18
        • 1970-01-01
        • 1970-01-01
        • 2020-05-21
        • 1970-01-01
        相关资源
        最近更新 更多