node.js - 为什么 npm 包经常使用 require 的相对路径(例如 ../../file)?

标签 node.js npm commonjs

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/

相关文章:

git - 如何在不同对应的本地分支package.json中使用单独的git分支作为npm包依赖?

javascript - 如何访问 JSON 中的数组并在 Jade 中迭代

javascript - 查看Node.js String.prototype的方法?

javascript - Webpack 无法呈现快速导入

javascript - NodeJS - 本地范围已关闭( fatal error )

node.js - npm install : fetchPackageMetaData error for material-design-icons@^3. 0.1 意外的文件结尾

commonjs - 如何将 CommonJS 模块与 Oracle 的新 Nashorn JS 引擎结合使用?

javascript - Typescript 中的模块系统

javascript - 使用 CommonJS 语法中的文件使用 Karma 和 RequireJS 进行测试

javascript - 如何将文件写入NodeJS中的特定目录?