我想在我的应用程序中添加一个仅用于开发模式的日志系统,我不希望它包含在我的缩小/丑化生产版本中。
我知道我可以使用process.env.NODE_ENV
检查我是处于开发模式还是生产模式,但我认为这种检查中包含的代码将包含在生产版本中,即使它不会运行。这是真的吗?
如果是这样,有没有办法从生产版本中排除我的代码的一部分?
答案 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
之类的操作。