1

所以现在我的项目是结构化的,所以我的服务器端代码位于服务器文件夹中。

我已将我的 javascript 分解为多个文件,并且之前使用的是 require.js。现在,我尝试使用

Npm.require

__meteor_bootstrap__.require

获取不同文件的“导出”对象,但这不起作用。

换句话说,我如何正确地将 require.js 与 Meteor 一起使用?或者有没有更好的方法来分解 Meteor 中的大型 javascript 文件?

4

3 回答 3

4

我建议您考虑完全使用智能包构建您的应用程序。从 0.6.0 开始,您可以在 packages/ 下拥有本地包

作为最佳实践,任何特定于应用程序的包文件夹都将以命名空间为前缀(例如:myapp-billing)

于 2013-07-29T14:52:30.153 回答
2

如果您的目标是将您的一些项目分解为可以在单独的发布周期中发布并可能与其他项目共享的模块,那么通过将它们制作成 require.js 样式的模块(如果您只是想打破一个大的 .js 变成多个,然后按照 user728291 的建议进行操作)。

如果您确实创建了多个 require.js 样式的模块,您应该将这些模块完全从 Meteor 项目中分离出来,并将它们放入单独的目录中,例如

workspace/ /my-meteor-project/ ...项目内容... /reusable-module-1/ package.json reusable-module-1.js /reusable-module-2 package.json reusable-module-2.js

然后,使用 本地安装这些 Npm 模块npm link,或使用npm publish. 然后,这里讨论了在 Meteor 应用程序中包含 Npm 模块的最佳实践

于 2013-07-29T00:25:37.887 回答
1

我认为您正在尝试制作一个包裹。 是在包中使用 Npm.require() 的示例。

许多常见的 js 库也已经存在包,因此请检查环境,也许您不需要编写自己的包。

您也可以只将 .js 文件放在这样的目录结构中,无需使用 Npm.require 和包,如果您已经在服务器上的一个 .js 文件中运行代码,这可能是最简单的。

于 2013-07-29T00:06:15.717 回答