ES6 Bare Import: как использовать и когда?

ES6 позволяет нам использовать новый синтаксис импорта. Используя его, мы можем импортировать модули в наш код или части этих модулей. Примеры использования:

import React from 'react'; // Import the default export from a module.
import { Component, PropTypes } from 'react'; // Import named exports from a module.
import * as Redux from 'react-redux'; // Named import - grab everything from the module and assign it to "redux".

Но тогда у нас также есть эта тайна:

import 'react';

Похоже, что ES6 поддерживает "голый импорт", поскольку это допустимый оператор импорта. Однако, если это сделано, кажется, что нет способа действительно ссылаться на модуль.

Как мы будем использовать это и почему?

1 ответ

Для побочных эффектов. Например (непроверенный, только для концепции):

// debug-keypresses.js
import $ from 'jquery';
$(document).keypress(evt => {
 console.log("KEYPRESS:", evt.which);
});

Здесь вы не интересуетесь экспортом; простой импорт этого файла должен настроить регистрацию нажатий клавиш, так что вам нужен только импорт.

EDIT: Действительно, как отмечено loganfsmyth в комментариях, это пример для import 'debug-keypresses', а не для import $ from 'jquery'.

licensed under cc by-sa 3.0 with attribution.