如何在js文件中获取文件夹“node_modules”的路径?

时间:2017-08-02 17:53:21

标签: node.js

Node.js - 8.2.1

我的index.js我硬编码 node_modules 的路径:

'use strict';

<?php get_header(); ?>

<div id="content">
  ...
</div>

<?php get_footer(); ?>

但它不是很好,因为代码不可移植。我如何获得Node.js文件夹 node_modules 的路径?

3 个答案:

答案 0 :(得分:0)

不是全局安装npm模块,你可以将它们安装在你的src文件夹中,每当你在src文件夹中并进行npm安装它应该安装在src文件的本地npm模块文件夹中,使其可移植,你可以使用--save将其添加到依赖项中,以便在初始化节点项目时获取它

答案 1 :(得分:0)

以下是nodejs当前主分支源文档的摘录[doc / api / modules.md] ...

... require.resolve()所做的伪代码中的高级算法:

要求(X)来自路径Y的模块

  1. 如果X是核心模块, 一个。返回核心模块

    湾停止

  2. 如果X以'/'开头 一个。将Y设置为文件系统根

  3. 如果X以'./'或'/'或'../'

    开头

    一个。 LOAD_AS_FILE(Y + X)

    湾LOAD_AS_DIRECTORY(Y + X)

  4. LOAD_NODE_MODULES(X,dirname(Y))

  5. THROW“not found”

答案 2 :(得分:0)

请注意,您可以有多个 node_modules (请参阅https://docs.npmjs.com/files/folders)。

大多数时候,您想要的 node_modules 是您当前模块所在目录的父路径:

const path = require('path').resolve(__dirname, '..');