Import * as xxx from 'Xxx ' 和Import xxx from 'xxx'有什么区别?同时,在vuex里面,为什么可以用var xxx= require('Xxx ')代替第二个写法,而代替第一个却不可以
认证0级讲师
第一个问题:
除了指定加载某个输出值,还可以使用整体加载,即用星号(*)指定一个对象,所有输出值都加载在这个对象上面。
下面是一个circle.js文件,它输出两个方法area和circumference。
circle.js
area
circumference。
// circle.js export function area(radius) { return Math.PI * radius * radius; } export function circumference(radius) { return 2 * Math.PI * radius; }
现在,加载这个模块。
// main.js import { area, circumference } from './circle'; console.log('圆面积:' + area(4)); console.log('圆周长:' + circumference(14));
上面写法是逐一指定要加载的方法,整体加载的写法如下。
import * as circle from './circle'; console.log('圆面积:' + circle.area(4)); console.log('圆周长:' + circle.circumference(14));
来自阮一峰的ECMAScript6这本书希望楼主可以看明白
可以看看这篇文章http://es6.ruanyifeng.com/#do...
import的写法与你import的模块的export相关
根据上图,import xxx from 'XXX'是将XXX中的export default在本模块中命名为xxx而 var xxx = require('XXX');也是将XXX中的export default在本模块中命名为xxx,故可以替换;import * as xxx from 'XXX';则是将XXX中的所有export在本模块中命名为xxx,XXX中有export function A(){...},则可以用xxx.A()来引用。
第一个问题:
除了指定加载某个输出值,还可以使用整体加载,即用星号(*)指定一个对象,所有输出值都加载在这个对象上面。
下面是一个
circle.js
文件,它输出两个方法area
和circumference。
现在,加载这个模块。
上面写法是逐一指定要加载的方法,整体加载的写法如下。
来自阮一峰的ECMAScript6这本书
希望楼主可以看明白
可以看看这篇文章
http://es6.ruanyifeng.com/#do...
import的写法与你import的模块的export相关
根据上图,import xxx from 'XXX'是将XXX中的export default在本模块中命名为xxx
而 var xxx = require('XXX');也是将XXX中的export default在本模块中命名为xxx,故可以替换;
import * as xxx from 'XXX';则是将XXX中的所有export在本模块中命名为xxx,XXX中有export function A(){...},则可以用xxx.A()来引用。