使用commonjs require,我可以这样做 -
let wrapper = require('./wrapper')
let Nephi = wrapper(require('./Nephi'))
使用es6导入语法,我似乎必须这样做 -
import wrapper from './wrapper'
import Nephi from './Nephi'
let Nephi2 = wrapper(Nephi)
我在下面尝试了这个:
import wrapper from './wrapper'
import Nephi from './Nephi'
Nephi = wrapper(Nephi)
但我得到一个只读的#39;错误。如果我使用' import'?
,我是否不得不使用其他变量名称答案 0 :(得分:3)
感谢@loganfsmyth -
导入的变量类似于const,您无法分配给它们。
答案 1 :(得分:0)
尝试使用
import { wrapper } from './wrapper'
import { Nephi } from './Nephi'
Nephi = wrapper(Nephi)
如果您不使用{}
,则表示您需要导出as default
答案 2 :(得分:0)
为什么不在Nephi中导入包装器,然后导出一个包装的Nephi对象?
export default wrapper(Nephi);
或
import Nephi as unwrappedNephi from './Nephi';
const Nephi = wrapper(unwrappedNephi);
答案 3 :(得分:-1)
如果你不想在你要导入的成员上包装花括号,在wrapper.js和Nephi.js上,你必须将它们作为默认值导出。 e.g。
inside wrapper.js
export default function wrapper(ob) { ... }
在Nephi.js中
export default Nephi = { ... };
导入它们:
import wrapper from './wrapper';
import Nephi from './Nephi';
var nephi2 = wrapper(Nephi);