2015-01-07 5 views
-1

include.js файл содержитJavascript Требовать

var test = function(){ 
    console.log("log from included file"); 
}; 

main.js файл содержит

require('./include.js'); 
test(); 

, когда я попытался запустить main.js используя node main.js команду он показывает

module.js:340 
    throw err; 
     ^
Error: Cannot find module 'include.js' 
    at Function.Module._resolveFilename (module.js:338:15) 
    at Function.Module._load (module.js:280:25) 
    at Module.require (module.js:364:17) 
    at require (module.js:380:17) 
    at Object.<anonymous> (d:\Nishada\test\main.js:1:63) 
    at Module._compile (module.js:456:26) 
    at Object.Module._extensions..js (module.js:474:10) 
    at Module.load (module.js:356:32) 
    at Function.Module._load (module.js:312:12) 
    at Function.Module.runMain (module.js:497:10) 

, что является причиной этой ошибки ?

+2

Использование 'требуют (» ./ include.js') '. –

+2

вы должны экспортировать его: 'module.exports = test;' – micnic

ответ

2

Ошибка относится к файлу, который не найден, make Убедитесь, что файл находится в том же каталоге, main.js и попробовать:

include.js

module.exports = { 
    test: function(){ 
     console.log("log from included file"); 
    } 
} 

main.js

var myInclude = require('include.js'); 
myInclude.test(); 
2

Вам нужно будет экспортировать функцию тестирования для того, чтобы использовать его в main.js

var test = function(){ 
    console.log("log from included file"); 
}; 

module.exports = test 

И в main.js добавить require следующим

require('./include.js'); // assuming include.js is in same directory as main.js 

Если вы require('include.js') затем узел будет искать include в глобальные пакеты

+0

'module.exports = test' не единственная проблема там – micnic

+0

Я отредактировал ответ. – Kelsadita

+0

@MaxBumaye, его больше нет, ответ был неполным – micnic

2

Вы должны дать относительный путь include.js в то время как require ,

Если оба находятся в том же директории записать его как сильфон

var include = require('./include.js'); 
include.test(); 

и от include.js вы можете определить их как функции для exports

exports.test = function(){ 
    console.log("log from included file"); 
}; 

Даже лучше

экспорта только один объект, имеющий несколько функций от include.js вместо экспортируя каждую отдельную функцию.

Как пыльник

include.js

exports.test = obj; 
obj.func1 = function(){}; 
obj.func2 = function(){}; 

main.js

var test = require('./include.js').test; 
test.func1(); 
test.func2();