【发布时间】:2017-03-15 06:52:41
【问题描述】:
从Meteor 1.3 开始,npm 是推荐的打包系统,我现在在我的node_modules 目录中同时拥有服务器端和客户端包。 Meteor 试图将所有这些捆绑到一个巨大的 modules.js 文件中。
让流星完全忽略文件的唯一方法似乎是更改文件或目录名称(1、2)。
但我不想完全忽略这些文件 - 有些模块我只需要在服务器端,有些只在客户端。
有没有办法让 Meteor 只在客户端包中包含某些节点模块,可能是通过创造性命名或黑客 .babelrc?
【问题讨论】:
-
从 1.3 版开始,Meteor 有了一个不错的模块系统,你可以使用新的 ES6 语法 (read here) 来
import ...任何你想要的东西。由于一切都是“选择加入”,现在没有必要“退出”任何东西。 -
@apendua 是对的,但我发现您需要一些棘手的模式来防止 Meteor 在仅服务器代码中查找导入并将它们捆绑到客户端。基本上,Meteor 不尊重运行时条件测试
Meteor.isServer,因此您需要将内容隐藏在“服务器”文件夹中。