npm 上的许多包似乎通过以下方式使用 require 函数:
var CounterActions = require('../actions/counter');
而不是这个:
var CounterActions = require('mypackage/actions/counter');
这是为什么呢?我看不出有什么好处,而且它使得将文件移动到另一个位置变得非常困难。另外,由于您不知道 require 指的是什么,所以阅读代码会更困难(例如 require("../../../../../../index.js")
)
最佳答案
因为如果没有相对路径,您就不能要求 node_modules
文件夹中没有的内容。
格式:var CounterActions = require('mypackage');
为node_modules
文件夹中的包保留。
有些人已经实现了 NPM 模块来克服这个问题。这是其中之一:rootpath
您还可以找到许多其他解决方案here ,但 NPM 模块似乎是最简单的。
关于node.js - 为什么 npm 包经常使用 require 的相对路径(例如 ../../file)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33767344/