mirror of
https://github.com/nodejs/node.git
synced 2026-11-09 15:11:11 -05:00
A module ID with a trailing slash must be a dir.
require('./foo/') should not try to load './foo.js'. It should only
look for ./foo/index.js
Closes GH-588
This commit is contained in:
1 parent
36ef5643c3
commit
6cdeb3b3fd
4 files changed
+17
-5
No files matched your search
+10
-5
@@ -58,6 +58,8 @@ Module._findPath = function(request, paths) {
|
||||
paths = [''];
|
||||
}
|
||||
|
||||
var trailingSlash = (request.slice(-1) === '/');
|
||||
|
||||
// check if the file exists and is not a directory
|
||||
function tryFile(requestPath) {
|
||||
try {
|
||||
@@ -89,13 +91,16 @@ Module._findPath = function(request, paths) {
|
||||
// For each path
|
||||
for (var i = 0, PL = paths.length; i < PL; i++) {
|
||||
var basePath = path.resolve(paths[i], request);
|
||||
var filename;
|
||||
|
||||
// try to join the request to the path
|
||||
var filename = tryFile(basePath);
|
||||
if (!trailingSlash) {
|
||||
// try to join the request to the path
|
||||
filename = tryFile(basePath);
|
||||
|
||||
if (!filename) {
|
||||
// try it with each of the extensions
|
||||
filename = tryExtensions(basePath);
|
||||
if (!filename && !trailingSlash) {
|
||||
// try it with each of the extensions
|
||||
filename = tryExtensions(basePath);
|
||||
}
|
||||
}
|
||||
|
||||
if (!filename) {
|
||||
|
||||
Whitespace-only changes.
Whitespace-only changes.
@@ -52,6 +52,13 @@ var one = require('../fixtures/nested-index/one'),
|
||||
two = require('../fixtures/nested-index/two');
|
||||
assert.notEqual(one.hello, two.hello);
|
||||
|
||||
common.debug('test index.js in a folder with a trailing slash');
|
||||
var three = require('../fixtures/nested-index/three'),
|
||||
threeFolder = require('../fixtures/nested-index/three/'),
|
||||
threeIndex = require('../fixtures/nested-index/three/index.js');
|
||||
assert.equal(threeFolder, threeIndex);
|
||||
assert.notEqual(threeFolder, three);
|
||||
|
||||
common.debug('test cycles containing a .. path');
|
||||
var root = require('../fixtures/cycles/root'),
|
||||
foo = require('../fixtures/cycles/folder/foo');
|
||||
|
||||
Reference in new issue
Block a user