Javascript 如何在生成时从生产中排除代码?
如何在构建期间从webpack包中排除typescript代码 例如,我在Javascript 如何在生成时从生产中排除代码?,javascript,node.js,webpack,Javascript,Node.js,Webpack,如何在构建期间从webpack包中排除typescript代码 例如,我在app.ts(nodejs应用程序)中有这行代码: 我想在使用webpack配置构建应用程序时排除此代码。webpack有一个模式设置,允许您在开发和安装之间切换 在您的代码中,您可以使用process.env.NODE\u env来确定您是否在生产中,Webpack使用该属性来消除“生产死代码”: 如果该值是一个敏感信息,不应泄漏到您的生产版本中,我会在捆绑包中搜索它,以确保在生成管道更改时不会泄漏。在webpack v
app.ts
(nodejs应用程序)中有这行代码:
我想在使用webpack配置构建应用程序时排除此代码。webpack有一个
模式设置,允许您在开发和安装之间切换
在您的代码中,您可以使用process.env.NODE\u env
来确定您是否在生产中,Webpack使用该属性来消除“生产死代码”:
如果该值是一个敏感信息,不应泄漏到您的生产版本中,我会在捆绑包中搜索它,以确保在生成管道更改时不会泄漏。在webpack version 4中,您可以在您的webpack配置中设置模式:“生产”
。()
因此,在源代码中可以使用以下内容:
if (process.env.NODE_ENV === 'development') {
const thisShouldNotBeInProductionBundleJustInDevBundle = 'aaaaaaa';
...
}
总之,在构建包的过程中,if和ifs自身内部的所有代码都将自动删除
// declare variable everywhere to prevent unresolvable variable references
let onlyInDev = "";
// The following should be shaken away by webpack
if(process.env.NODE_ENV === "development") {
onlyInDev = "test";
}
if (process.env.NODE_ENV === 'development') {
const thisShouldNotBeInProductionBundleJustInDevBundle = 'aaaaaaa';
...
}