在 ES6 中导出多个变量?

新手上路,请多包涵

我试图在 ES6 中导出多个变量:

出口.js

 var TestObject = Parse.Object.extend('TestObject')
var Post = Parse.Object.extend('Post')

export default TestObject
export Post

主.js:

 import TestObject from '../store'
import Post from '../store'

var testObject = new TestObject() // use Post in the same way
testObject.save(json).then(object => {
  console.log('yay! it worked', object)
})

我知道只有一个默认值,所以我只在第一项中使用了 default

但是,我收到此错误消息:

 Module build failed: SyntaxError: /home/alex/node/my-project/src/store/index.js: Unexpected token (9:7)
   7 |
   8 | export default TestObject
>  9 | export Post

也许我做错了?

原文由 alexchenco 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 937
2 个回答

那不是有效的语法。你可以做

export { Post }

甚至只是

export var Post = Parse.Object.extend('Post')

或将整个文件缩短为

export default Parse.Object.extend('TestObject')
export var Post = Parse.Object.extend('Post')

您的导入也不正确,您需要这样做

import TestObject, { Post } from '../store'

这是如果您真的想要一个默认导出和一个单独的命名导出。如果需要,您也可以只创建两个命名导出并且没有默认值,例如

export var TestObject = Parse.Object.extend('TestObject');
export var Post = Parse.Object.extend('Post');

或者

var TestObject = Parse.Object.extend('TestObject');
var Post = Parse.Object.extend('Post');
export { TestObject, Post };

并导入

import { TestObject, Post } from '../store'

原文由 loganfsmyth 发布,翻译遵循 CC BY-SA 4.0 许可协议

您可以在 ES6 中像这样导出多个对象

var TestObject = Parse.Object.extend('TestObject')
var Post = Parse.Object.extend('Post')

export {
    TestObject,
    Post
}

然后,在导入时,您可以这样做:

 import { TestObject, Post } from './your-file';

您可以在此处阅读有关 导入导出 的所有信息。

原文由 Mario Tacke 发布,翻译遵循 CC BY-SA 3.0 许可协议

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