【问题标题】:ES6 import / export not working with variables? MeteorES6 导入/导出不能使用变量?流星
【发布时间】:2017-11-26 23:28:42
【问题描述】:

为什么会这样

export var Tasks = new Mongo.Collection('tasks');

但这不是吗?

var Tasks = new Mongo.Collection('tasks');
export Tasks

【问题讨论】:

    标签: javascript meteor ecmascript-6


    【解决方案1】:

    因为这不是导出变量的标准方式。检查documentation

    export { name1, name2, …, nameN };
    export { variable1 as name1, variable2 as name2, …, nameN };
    export let name1, name2, …, nameN; // also var
    export let name1 = …, name2 = …, …, nameN; // also var, const
    
    export default expression;
    export default function (…) { … } // also class, function*
    export default function name1(…) { … } // also class, function*
    export { name1 as default, … };
    
    export * from …;
    export { name1, name2, …, nameN } from …;
    export { import1 as name1, import2 as name2, …, nameN } from …;
    

    所以你能做的就是

    export { Tasks };
    

    【讨论】:

      【解决方案2】:

      试试下面的语法:

      var Tasks = new Mongo.Collection('tasks');
      export { Tasks }
      

      我还建议对变量名使用 camelCase。

      【讨论】:

      • 谢谢!嗯,考虑到它也是 module.exports {Task} 也是有道理的
      • 最佳实践是export const Tasks = new Mongo.Collection('Tasks');
      • 是的,我只是太习惯节点了。使用 const 是我需要养成的习惯。谢谢
      【解决方案3】:

      使用export const Tasks = new Meteor.Collection('tasks');的最佳实践

      【讨论】:

        猜你喜欢
        • 2017-12-23
        • 2017-03-26
        • 2019-03-16
        • 2017-08-13
        • 2020-05-29
        • 1970-01-01
        • 2015-11-05
        • 1970-01-01
        相关资源
        最近更新 更多