Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.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
Javascript 如何在生成时从生产中排除代码?_Javascript_Node.js_Webpack - Fatal编程技术网

Javascript 如何在生成时从生产中排除代码?

Javascript 如何在生成时从生产中排除代码?,javascript,node.js,webpack,Javascript,Node.js,Webpack,如何在构建期间从webpack包中排除typescript代码 例如,我在app.ts(nodejs应用程序)中有这行代码: 我想在使用webpack配置构建应用程序时排除此代码。webpack有一个模式设置,允许您在开发和安装之间切换 在您的代码中,您可以使用process.env.NODE\u env来确定您是否在生产中,Webpack使用该属性来消除“生产死代码”: 如果该值是一个敏感信息,不应泄漏到您的生产版本中,我会在捆绑包中搜索它,以确保在生成管道更改时不会泄漏。在webpack v

如何在构建期间从webpack包中排除typescript代码

例如,我在
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';
    ...
}