es6不允许扩展'import'对象

时间:2018-03-16 08:34:49

标签: javascript ecmascript-6

这是测试文件'Test.js'

export const a=1

这是导入文件

import * as Test from './Test.js'
Test.b=2

然后create-react-app发生错误:

  

在'./Test'

中找不到“export'b'(导入为'Test')

但如果我使用'require'而不是'import',它就会正确:

var Test = require('./Test.js')
Test.b=2
console.log(Test.b)

这真让我感到困惑,如果有人能给我帮助,我将不胜感激

1 个答案:

答案 0 :(得分:1)

ES模块是只读的,*导入无法在本机实现中修改,除了测试目的之外,不应修改任何内容。

模块的可写性在实现之间可能不同。 create-react-app使用的Webpack不会物理保护模块对象,因此在使用require导入时可以对其进行修改,但您不应该这样做。