有没有办法从生产版本中排除一些代码?

时间:2015-08-24 13:14:34

标签: meteor

我想在我的应用程序中添加一个仅用于开发模式的日志系统,我不希望它包含在我的缩小/丑化生产版本中。

我知道我可以使用process.env.NODE_ENV检查我是处于开发模式还是生产模式,但我认为这种检查中包含的代码将包含在生产版本中,即使它不会运行。这是真的吗?

如果是这样,有没有办法从生产版本中排除我的代码的一部分?

1 个答案:

答案 0 :(得分:1)

您的假设是正确的 - 将代码包装在debugOnly: true中仍然会将其包含在捆绑包中。相反,您可以通过将代码移到包中并使用Package.describe部分中的Package.describe({ name: "awesome", summary: "My awesome package", version: "1.0.0", debugOnly: true }); Package.onUse(function(api) { api.addFiles('lib/something.js'); }); 来解决此问题。这将允许在开发模式下使用包,但不包括在生产的缩小版本中。这是一个例子:

package.js

另请参阅debugOnly mongol

重要提示Package.awesome.exportedSymbol个套餐中的已导出符号目前无效。有关详细信息,请参阅this issue。您仍然可以访问它们,但您必须执行As之类的操作。