我想始终要求我的文件始终位于项目的根目录下,而不是相对于当前模块。
例如,如果您查看https://github.com/visionmedia/express/blob/2820f2227de0229c5d7f28009aa432f9f3a7b5f9/examples/downloads/app.js第 6 行,您将看到
express = require('../../')
这真是糟糕的国际海事组织。想象一下,我想把我所有的例子都离根更近一层。那是不可能的,因为我必须在每个示例中更新 30 多个示例并且多次更新。对此:
express = require('../')
我的解决方案是基于根的特殊情况:如果字符串以 $ 开头,则它相对于项目的根文件夹。
任何帮助表示赞赏,谢谢
现在我正在使用 require.js,它允许您以一种方式编写并且在客户端和服务器上都可以工作。Require.js 还允许您创建自定义路径。
现在我转向 webpack + gulp 并使用增强的需求来处理服务器端的模块。请参阅此处的理由:http ://hackhat.com/p/110/module-loader-webpack-vs-requirejs-vs- browserify/
这是我超过6个月的实际方式。我在项目中使用一个名为 node_modules 的文件夹作为我的根文件夹,这样它总是会从我称之为绝对要求的任何地方查找该文件夹:
当您嵌套在文件夹中时,这更有用,如果以绝对方式设置,更改文件位置的工作要少得多。我在整个应用程序中只使用了 2 个相对要求。