meteor - Meteor Wonky Magic 进口
问题描述
我已经使用流星一段时间了,并且遇到了意外的行为,我的文件系统设置如下:
-workspace
-client
-server
-shared
-shared.js
在 shared.js 中,我创建了我的 mongo 集合:
Collection= new Mongo.Collection('collection');
然后我可以在我的应用程序的任何地方将它们作为全局变量引用。有趣的是:我从来没有在我的项目中使用过“共享”这个词,意思是,我从来没有导入这个文件,我从来没有需要这个文件,它是自己加载的,并且在没有被告知的情况下工作。
我目前正在尝试将其复制到另一个项目中,但无济于事。谁能解释为什么它在一个项目中加载,而不是另一个?以及如何在我的第二个项目中获得这种行为?
在查看之后,似乎在我的第二个项目中,shared.js 根本没有加载。
解决方案
我猜你的两个项目不是用相同的 Meteor 版本创建的。
从Meteor 1.7开始,即使在文件夹之外,新项目也默认启用延迟加载。imports/
这是由文件mainModule
内的属性完成的package.json
:
"mainModule": {
"client": "client/main.js",
"server": "server/main.js"
},
如果你想使用预先加载(禁用延迟加载),你必须从你的package.json
.
更多资源在这里:
Meteor 使用 ES 模块的指南: https ://guide.meteor.com/structure.html#es2015-modules
Meteor 关于 1.7 的博文: https ://blog.meteor.com/meteor-1-7-and-the-evergreen-dream-a8c1270b0901
推荐阅读
- javascript - 我正在尝试计算一组函数的小计,但没有得到任何输出:
- dictionary - mapbox-gl-js 围绕 lat/lng 创建一个扇区?
- java - web.xml 应该在使用 Intellij IDEA IDE 的 Java EE 项目中的哪个位置?
- docker - 如何将 microk8s 与较新的 Docker 一起使用?
- javascript - 是否可以通过 poi_label 过滤建筑物层?
- django - 使用 Twitter Bootstrap 设置 Django 错误样式
- three.js - three.js - 无法读取未定义的属性“y”
- javascript - 图像悬停生成器
- c++ - 我没有看到“发布”按钮。如何从 C++ 代码制作独立的 exe 文件?
- android - Toast 在 Android API 28 中显示不到一秒钟