ES6 裸导入:如何使用,何时使用?

jed*_*ung 6 javascript ecmascript-6 es6-module-loader

ES6 允许我们使用新的导入语法。使用它,我们可以将模块导入我们的代码或这些模块的一部分。使用示例包括:

// Import the default export from a module.
import React from 'react'; 

// Import named exports from a module.
import { Component, PropTypes } from 'react'; 

// Named import - grab everything from the module and assign it to "redux".
import * as Redux from 'react-redux'; 
Run Code Online (Sandbox Code Playgroud)

但是,我们也有这个谜团:

import 'react';
Run Code Online (Sandbox Code Playgroud)

看起来 ES6 支持裸 import,因为这是一个有效的 import 语句。但是,如果这样做了,似乎无法实际引用该模块。

我们将如何使用它,为什么?

Ama*_*dan 5

对于副作用。例如(未经测试,仅限概念):

// debug-keypresses.js

document.addEventListener('keypress', evt => {
  console.log("KEYPRESS:", evt.which);
});
Run Code Online (Sandbox Code Playgroud)

你不关心这里的任何出口;仅仅导入这个文件就应该设置按键记录,所以你只需要裸导入。

  • 您可能想澄清该示例是“import 'debug-keypress'”,而不是“import $ from 'jquery';”。 (4认同)