Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将Meteor项目划分为模块_Meteor - Fatal编程技术网

如何将Meteor项目划分为模块

如何将Meteor项目划分为模块,meteor,Meteor,我的流星计划分为两部分: 主页:任何人都可以访问。 管理控制台:仅向管理员提供一些管理工具 在生产模式下运行此项目时: $ meteor --production Meteor将把所有客户端代码合并成一个大文件,这使得管理控制台代码也可以传递给普通访问者 有没有办法将javascript/css文件缩小为两个文件? 一个是普通访客,一个是管理员 我也将这个项目打包到Android包中,管理控制台代码也存在于apk文件中,我如何排除它们 谢谢。您可以使用meteor dynamic import

我的流星计划分为两部分:

主页:任何人都可以访问。 管理控制台:仅向管理员提供一些管理工具 在生产模式下运行此项目时:

$ meteor --production
Meteor将把所有客户端代码合并成一个大文件,这使得管理控制台代码也可以传递给普通访问者

有没有办法将javascript/css文件缩小为两个文件? 一个是普通访客,一个是管理员

我也将这个项目打包到Android包中,管理控制台代码也存在于apk文件中,我如何排除它们


谢谢。

您可以使用meteor dynamic imports,仅根据客户端使用的视图将代码下载到客户端。我还没有尝试过,但是应该可以不根据用户的角色动态加载文件

比如:

//must be called inside a meteor method or publish function
async function adminOnlyApi() {
  if(Roles.userIsInRole(Meteor.userId, ['admin']) {
    return await import('path/to/lib');
  }
  return {};
}

假设lib导出一个默认对象,其键为“foo”,值为“bar”,以管理员身份登录时调用adminOnlyApi.foo应返回“bar”,与任何其他用户登录时返回undefined…

当前,否。您需要创建单独的应用程序,并在不同的域/子域上运行它们。或者,您可以尝试使用anti:modules包。但它仍处于繁重的开发阶段。