javascript | es6 一个关于import的语法问题?

问题1:
import导入模块在实际使用中,写在花括号内和写在花括号外的模块有什么不同?
比如下面这行代码.

import React, { Component,PropTypes } from 'react';

问题2:

以下的代码在使用过程中要如何选择?

import {xxx} from 'xxxx';
import xxx from 'xxxx';

先谢谢大家了.

阅读 13.9k
4 个回答

针对问题1:

1、大括号包含的是一个对象,里面的变量名必须与引入模块的对外接口的名称相同;

2、然后就是像import React from 'react'这种写法,在模块定义里面,将整个模块导出export default,再进行导入,这时候,就可以自己定义引入的模块名称了;

针对问题2:

ES7有一个提案,就是去掉大括号,但是变量名还是必须与引入模块的对外接口的名称相同;

所以,个人觉得,问题2问的其实没到点。因为,你不确定你到底要怎么引入模块,没有具体的例子,所以,问题2没有一个确切的回答。

建议参考:阮一峰《ES6标准入门(import命令)》

可以参考 http://es6.ruanyifeng.com/#docs/module#import命令

如果想在一条import语句中,同时输入默认方法和其他变量,可以写成下面这样。

import customName, { otherMethod } from './export-default';

也有同样的问题,后来在stackoverflow上找到答案:link

新手上路,请多包涵

这个是ES6的解构赋值,具体可以看阮一峰的解释的比较详细

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题