Bagaimana saya bisa mengelompokkan dan mengekspor beberapa fungsi di nodejs?

Saya mencoba mengelompokkan semua fungsi util saya di utils.js:

async function example1 () {
    return 'example 1'
}

async function example2 () {
    return 'example 2'
}

module.exports = { example1, example2 }

Dan kemudian diimpor di home.js:

  import { example1, example2 } from '../utils'

  router.get('/', async(ctx, next) => {
    console.log(example1()) // Promise { 'example 1' }

  })

Saya pikir saya akan mendapatkan 'example 1' untuk kasus uji di atas?

Ada ide?

4
Run 20 Agustus 2017, 13:21

3 jawaban

Jawaban Terbaik

Ini akan menjadi solusi saya untuk masalah ekspor Anda! Dan jangan campur es5 exports dengan es6 imports, itu bisa menjadi sangat aneh - terkadang!

export const example1 = async () => {
   return 'example 1'
}

export const example2 = async () => {
   return 'example 2'
}


// other file
import { example1, example2 } from '../../example'
return example1()

Namun demikian jika Anda harus mencampurnya, beri tahu saya! Kita dapat menemukan solusi untuk ini juga!


Selengkapnya tentang mengekspor modul dan apa yang bisa salah!

MDN Exports dan cerita pendek tentang status modul javascript

10
marpme 20 Agustus 2017, 11:42
async function example1 () {
    return 'example 1'
}

async function example2 () {
    return 'example 2'
}

module.exports.example1 = example1;
module.exports.example2 = example2;

Impor di home.js seperti ini:

const fun = require('./utils');
fun.example1();
1
Pratul Kumar 24 November 2020, 18:33

Di bawah ini saya telah membagikan cara untuk mendeklarasikan functions pengekspor dalam 2 cara berbeda. Semoga ini membantu memahami berbagai cara di mana itu bisa diselesaikan.

"use strict";
// utils.js

const ex1 = function() {
  console.log('ex1');
};

function ex2(context) {
  console.log('ex2');
};

module.exports = { example1: ex1, example2: ex2 };

Anda dapat memanggilnya di file JS (eksternal) lain (mis: app.js) sebagai berikut:

// app.js
const utils = require('./utils');

utils.example1(); // logs 'ex1'
utils.example2(); // logs 'ex2'
6
Hamzeen Hameem 7 Maret 2019, 16:44