我必须在我现有的Meteor项目中导入npm模块。我在每个页面上使用一些模块,在meteor中我强制在每个页面上导入npm模块。是否有任何常见的页面,我导入模块一次并在我的应用程序中使用它?
答案 0 :(得分:1)
Meteor中每个JavaScript文件中必须import
模块(无论它们是npm包,大气包还是项目中的其他文件)的原因是因为您安装了ecmascript
包。
这个精彩的软件包允许您利用所有伟大的新ECMAScript 2015(或ES6)功能(例如箭头函数,类,常量,块范围等)。一个这样的功能(以及你正在讨论的功能)还包括模块。
在ES6中,模块是一个内置构造,其中可重用代码的单元在文件级别作用域,这样每个文件只有一个模块,每个模块只有一个文件。这意味着,为了使用文件外部定义的任何代码,您必须先导入它。这与Java中的import
和C ++中的#include
非常相似,但略有不同。您可以了解有关ES6模块here的更多信息。
长话短说,新规范有很多优点,但是如果你想恢复到ES6之前的全球性,你可以简单地从你的流星项目中删除ecmascript
包,关注original folder structure guidelines,您将不再需要在每个文件中导入模块..