javascript可以使用node.js从另一个js文件中获取函数吗?

Can javascript get a function from another js file using node.js?

本文关键字:js 获取 函数 文件 另一个 可以使 node javascript      更新时间:2023-09-26

我正在编写一个需要读取文件的程序。我有一个文件index.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文件位于server.js的项目文件夹下的public文件夹中,如下所示:

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

它必须保持这样。所以我的问题是为什么我不能从server.js文件中读取函数,我该如何做到这一点。

通过

导出index.js中的函数
module.exports = function parse(file){
  var fs = require('fs');
  var contents = fs.readFileSync(file, 'utf8');
  return contents.split(''n');
}

然后像

一样导入到server.js中
var parse = require('./public')

是,

checkout nodejs模块,它允许你在文件之间导出和导入部分代码。

在你的例子中,它应该是

// ./index.js
var myFunction = require('./public') 

// ./public/index.js
module.exports = function iCanBeAnonymousOrNamed() {
   return 'do something'
}

你需要做的是让你的parse函数成为一个对象上的方法,然后你可以使用module.exports = parseModule导出这个对象-然后你可以使用require从你的index.js文件中导入这个模块,即var parseModule = require('./parseModule')