流星为什么需要进口包装
大约一年前我已经使用了流星,现在我想再次使用它,但很多事情已经改变。流星为什么需要进口包装
当我遵循Meteor.com大火教程,他们补充他们的文件之上进口:
import { Meteor } from 'meteor/meteor';
import { Template } from 'meteor/templating';
import { ReactiveDict } from 'meteor/reactive-dict';
我得到了应用程序的工作。但是,当我注销导入时,应用程序继续工作就像它应该工作。为什么需要这些进口?
我仍在使用的规则的Javascript,不ES6。
谢谢!
import语句用于导入函数,对象或已被从外部模块,另一个脚本等
name参数导出的原语是将接收导出部件的对象的名称。成员参数指定个别成员,而name参数导入所有成员。名称也可能是一个函数,如果模块导出一个默认参数而不是一系列成员。以下是阐明语法的示例。
导入整个模块的内容。这将myModule插入到当前作用域中,其中包含“my-module.js”中所有导出的绑定。
有关,我们可以与他们一起使用进口使用不同的方法更详细,请this。
他们仍然使用旧的全局变量来提供向后兼容性。不过建议使用这些导入,所以如果在将来的某个版本中它们会删除全局变量,那么代码仍然可以工作。您可以在appropriate section of the guide中阅读更多内容。
好吧,所以它是一种后备,如果他们曾经要删除全局变量? – coder14
这是我的承担。但是,我不认为他们会删除全局变量。 –
好吧,你知道import
是从已经在另一个文件中导出的对象。
,你可能已经错过了的一点是,千年发展目标听说需要停止默认加载的一切,或至少提供一个均值来控制什么是加载到内存中,哪些不是。
外观为/imports
特殊的目录。
文件夹中的不再是自动加载的,而只能通过import
声明。
至于本教程,我猜他们没有解释这个功能,而且因为它只导入了标准的功能,这些功能仍然是为了向后兼容而急切地加载,所以它不会改变任何删除这些语句的东西。
如果您不使用ES6,除非您有一个可识别它的模块打包程序,否则不能使用导入语法。 – gcampbell
啊我已经认为它必须做一些与ES6。但使用进口的主要优势是什么? – coder14
它不是特定于Meteor,但有一个称为Rollup的模块打包程序,它使用*树形抖动*来移除不需要的东西,并且仅适用于ES6模块。检查出来,这是真棒;) – gcampbell