Класс импорта из Node.js в обычном JavaScript - PullRequest
0 голосов
/ 09 марта 2020

У меня есть файлы, использующие инфраструктуру Node.js, и другие файлы, которые я хочу реализовать без этого. Когда я пытаюсь импортировать класс из файлов моего узла, где я использовал module.exports, в мои js файлы, я получаю сообщение об ошибке «запрошенный модуль не обеспечивает экспорт с именем default». Так есть ли способ импортировать класс node.js в мой JavaScript?

Ответы [ 2 ]

0 голосов
/ 09 марта 2020

Я думаю только двумя способами для решения вашей проблемы

МЕТОД 1

Module1. js

class HelloWorld {
  getHelloWorld() {
    return 'Hello World';
  }
}

module.exports = HelloWorld

Module2. js

const HelloWorld = require('./module1.js');
const helloWorld = new HelloWorld();

МЕТОД 2 Узел <= v12 </em> (файл расширения: .msj и запустить его как node --experimental-modules module2.mjs)

module1.m js

export default class HelloWorld {
    getHelloWorld() {
        return 'Hello World';
    }
}

module2.msj

import HelloWorld from './module1.mjs';
const helloWorld = new HelloWorld();
console.log(helloWorld.getHelloWorld());

МЕТОД 2 Узел> = v13 (файлы расширения: .msj или Добавить { "type": "module" } в package.json)

module1.m js или module1. js, если добавить { "type": "module" } в package.json

export default class HelloWorld {
    getHelloWorld() {
        return 'Hello World';
    }
}

module2.m js или module2. js, если добавить { "type": "module" } в package.json

import HelloWorld from './module1.mjs';
const helloWorld = new HelloWorld();
console.log(helloWorld.getHelloWorld());

ПРИМЕЧАНИЕ. Если вы заинтересованы в том, чтобы узнать разницу между «module.exports против экспорта по умолчанию», эта topi c может помочь вам module.exports против экспорта по умолчанию в Node.js и ES6

0 голосов
/ 09 марта 2020

Nodejs использует тип

module.exports

В то время как ваниль JavaScript использует

export
...