2016-11-15 99 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')

相关问题