NodeJS模块结构,用于多个带有函数的.js文件



ATM我在NodeJS应用程序中有一个文件夹,我用几个函数存储JS文件。我需要在顶部的main.js中使用这些文件,并像往常一样使用它们。

my-app/
├── node_modules/
├── my_jsfiles/
│   ├── functions_1.js
│   └── functions_2.js
├── package.json
└── main.js

main.js:

const myFuncs1 = require('./my_jsfiles/functions_1.js')
const myFuncs2 = require('./my_jsfiles/functions_2.js')
myFuncs1.someFuncsInside()
myFuncs2.someFuncsInside()

方法:现在我将在更多的应用程序中使用my_jsfiles,我想制作我自己的NodeJS模块,到目前为止,它可以工作,但我一直坚持如何包含多个js文件,而不仅仅是从index.js 调用函数

my-app/
├── node_modules/
│   ├── my-jsfunctions/
│   │   ├── index.js
│   │   ├── functions_1.js
│   │   └── functions_2.js
├── package.json
└── main.js

main.js:

const myFuncs = require('my-jsfunctions')
//How do I call functions from functions_1.js and functions_2.js?

我知道我可以从index.js 导出函数

exports.someFunction = function () {
console.log("This is a message from the index.js");
}

但是,从其他文件调用函数的propper方法是什么,因为我不希望只有一个index.js文件包含数百万行代码。

您只需要将所有函数导入index.js文件并从中导出

my-app/
├── node_modules/
├── my_jsfiles/
│   ├── functions_1.js
│   └── functions_2.js
├── package.json
└── main.js

函数_1.js

function functions_1_1(){
}
module.exports={functions_1_1}

函数_2.js

function functions_2_1(){
}
module.exports={functions_2_1}

index.js

const {functions_1_1} = require("./function_1.js");
const {functions_2_1} = require("./function_2.js");
module.exports={functions_1_1,functions_2_1}

main.js

const {functions_1_1,functions_2_1} =require("./my_jsfiles/index.js");
functions_1_1()
functions_2_1()

您应该能够进行

const myFuncs1 = require('my_jsfiles/functions_1.js')
const myFuncs2 = require('my_jsfiles/functions_2.js')

它不起作用吗?

从我的jsfunctions上的文件index.js中,您可以从其他文件导出函数,如so

export * from './functions_1';
export * from './functions_2';

然后你可以导入功能

const func1 = require('my-jsfunctions').func1;
const func2 = require('my-jsfunctions').func2;

最新更新