为什么npm包经常使用相对path进行require(例如../../file)?
npm上的一些软件包似乎使用require函数的方式如下:
var CounterActions = require('../actions/counter');
而不是这个:
var CounterActions = require('mypackage/actions/counter');
这是为什么? 我看不到任何好处,而且很难将文件移到其他位置。 另外,读取代码比较困难,因为你不知道需求是指什么(例如require("../../../../../../index.js")
)
因为不能在没有相对path的情况下要求不在node_modules
文件夹中的东西。
格式: var CounterActions = require('mypackage');
保留在node_modules
文件夹中。
有些人已经实施了NPM模块来克服这一点。 这里是其中的一个: rootpath
还有很多其他解决scheme可以在这里find,但是NPM模块似乎是最简单的。