0

开始探索node.js,遇到以下问题

假设我有 3 个文件:start.js、core/core.js 和 core/child.js

  1. start.js 在代码中需要 core.js
  2. core.js 使用具有这些设置的集群创建一个子进程 (core/child.js)

    cluster.setupMaster({
        exec: './core/child.js'
    });
    

core.js 和 child.js 在同一个文件夹中,但如果我使用,我会收到错误(未找到)

exec: './child.js'

但是,在文档中没有找到类似的东西

require('./child.js')

完美运行。如果路径更长一点我没有问题,只是想了解为什么我不能使用 core.js 的本地路径

4

1 回答 1

1

require()相对于当前代码文件的位置起作用,但 Node.js 中的大多数其他操作(包括启动其他进程)都是相对于当前工作目录的process.cwd()

如果您需要生成相对于当前文件的路径,您可以__dirname在运行时使用每个模块中可用的变量。

var childPath = require('path').join(__dirname, 'child.js');
于 2013-04-08T23:06:25.020 回答