gpt4 book ai didi

javascript - Nodejs : Good practice to just use the index. js 导出?

转载 作者:IT老高 更新时间:2023-10-28 23:25:10 24 4
gpt4 key购买 nike

我看到一些我继承的代码的模式。每个目录都有自己的 JS 文件,但也有一个 index.js,它实际上从另一个或多个 JS 文件导出项目。

我认为这样做是为了让您可以准确地看到要导出的内容,因为主要导出在 index.js 中,而主要代码在另一个或多个 js 文件中。

这是正确的吗?这种模式叫什么?

我应该继续使用这种模式吗?

最佳答案

假设我有以下目录结构:

MyApp
├── app.js
├── test.js
├── package.json
├─┬ controllers
│ ├── index.js
│ ├── signIn.js
│ └── signOut.js
└─┬ views
├── index.js
├── signIn.js
└── signOut.js

将以下代码放入 index.js 文件中...

// index.js
module.exports = {
signIn: require('./signIn')
, signOut: require('./signOut')
};

...允许您require整个目录,例如...

// test.js
describe('controllers', () => {
// ~/controllers/index.js
const controllers = require('./controllers');

it('performs a sign-in', () => {
...
});
it('performs a sign-out', () => {
...
});
});

另一种方法是单独要求每个文件。

不需要在目录中包含 index.js。您可以在没有 index.js 的目录中 require 一个文件。

// app.js
const signOut = require('./controllers/signOut.js')

但是,随着应用程序的增长,它会变得乏味。我使用像 require-directory 这样的包因为在目录中输入每个文件也很乏味并且容易出错。

// index.js
module.exports = require('require-directory')(module);

/*

This yields the same result as:

module.exports = {
signIn: require('./signIn')
, signOut: require('./signOut')
, ...
};

*/

关于javascript - Nodejs : Good practice to just use the index. js 导出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37417422/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com