【问题标题】:Why npm packages often use relative paths for require (e.g. ../../file)?为什么 npm 包经常对 require 使用相对路径(例如 ../../file)?
【发布时间】:2015-11-17 21:28:54
【问题描述】:

npm 上的一些包似乎通过以下方式使用 require 函数:

var CounterActions = require('../actions/counter');

而不是这个:

var CounterActions = require('mypackage/actions/counter');

这是为什么呢?我看不出有什么好处,而且很难将文件移动到另一个位置。另外,由于您不知道 require 指的是什么(例如require("../../../../../../index.js")),因此很难阅读代码

【问题讨论】:

    标签: node.js npm commonjs


    【解决方案1】:

    因为如果没有相对路径,您就不能要求不在 node_modules 文件夹中的内容。

    格式:var CounterActions = require('mypackage'); 是为 node_modules 文件夹中的包保留的。

    有些人已经实现了 NPM 模块来克服这个问题。这是其中之一:rootpath

    你可以找到很多其他的解决方案here,但是 NPM 模块似乎是最简单的。

    【讨论】:

    • 有一些方法可以做到这一点:stackoverflow.com/questions/10860244/…
    • 那么答案很简单。大多数人认为安装另一个模块以使其可以按照您想要的方式进行操作是不值得的(或者甚至不知道它是否可能或不关心)
    猜你喜欢
    • 1970-01-01
    • 2013-12-12
    • 2011-06-08
    • 2012-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多