2016-11-15 105 views
-1

我正在研究需要讀取文件的程序。我有一個文件index.js與啓動這樣的功能:javascript可以使用node.js從另一個js文件獲取一個函數嗎?

function read(file){ 

    var lines = parse(file); 

,我有另外一個文件server.jsparse(file)功能:

function parse(file){ 

    var fs = require('fs'); 

    var contents = fs.readFileSync(file, 'utf8'); 
    return contents.split('\n'); 

} 

index.js文件是一個public文件夾中的項目文件夾server.js,像這樣:

/project 
...server.js 
.../public 
    ...index.js 

而且它必須保持喜歡那個。 所以我的問題是爲什麼我不能從server.js文件讀取功能,我該怎麼做。

+0

您可以使用'module.exports'來指定exp ort函數,然後你可以使用'require'來導入它。 –

+0

歡迎來到堆棧溢出!請閱讀[問]。重要短語:「搜索和研究」和「解釋......阻止你自己解決它的任何困難」。 –

回答

0

出口通過

module.exports = function parse(file){ 

    var fs = require('fs'); 

    var contents = fs.readFileSync(file, 'utf8'); 
    return contents.split('\n'); 

} 

index.js功能和導入在server.js像

var parse = require('./public') 
0

是,

結賬nodejs modules,它允許您導出和導入部分你的代碼在文件之間。

在你的情況,這將是

// ./index.js 

var myFunction = require('./public') 

// ./public/index.js 

module.exports = function iCanBeAnonymousOrNamed() { 
    return 'do something' 
} 
+0

當我嘗試運行index.js時,我得到'Uncaught ReferenceError:require is not defined'... index.js不是node.js ... –

0

你需要做的是讓你的parse功能的對象的方法,然後您可以導出使用module.exports = parseModule什麼 - 然後您可以使用require從您的index.js文件中導入此模塊,即var parseModule = require('./parseModule')

相關問題