Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/31.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 是否有可能编写一段在prod版本中被省略的代码_Javascript_Angular - Fatal编程技术网

Javascript 是否有可能编写一段在prod版本中被省略的代码

Javascript 是否有可能编写一段在prod版本中被省略的代码,javascript,angular,Javascript,Angular,是否可能以某种方式“标记”一段代码,使其包含在“dev”模式中,但在“prod”中被忽略 我知道他有: if (isDevMode()) {...} 但是我可以避免代码检查它是否也是dev模式吗?我想到的唯一一件事就是使用environment.ts 在您的environment.dev.ts中: export const environment = { doSomething() { // Do your dev stuff here } } 在您的envir

是否可能以某种方式“标记”一段代码,使其包含在“dev”模式中,但在“prod”中被忽略

我知道他有:

if (isDevMode()) {...}

但是我可以避免代码检查它是否也是dev模式吗?

我想到的唯一一件事就是使用environment.ts

在您的environment.dev.ts中:

export const environment = {
    doSomething() {
       // Do your dev stuff here
    }
}
在您的environment.prod.ts中:

export const environment = {
    doSomething() {
        // Leave empty
    }
}

并在您的组件/服务/任何地方从环境中调用它。由于环境将被替换,开发代码将只包含在您的开发包中。

您可以使用webpack之类的构建工具,并让它包含基于别名的文件,该别名与
节点\u ENV
相结合<代码>节点_ENV在开发模式下为
开发
,在生产模式下为
生产

最简单的方法是在webpack.dev.config中使用别名加载dev文件,并在webpack.prod.config中加载生产文件


//发展
module.exports={
//...
决心:{
别名:{
Something:path.resolve(uu dirname,'dev/foo/'))
}
}
};

//刺激
module.exports={
//...
决心:{
别名:{
Something:path.resolve(uu dirname,'prod/foo/'))
}
}
};


如果您想使用一个配置文件,您可以在配置中使用一个三元组。

只需在组件中导入环境文件:

import { environment } from './environments/environment';
在您的脚本中:

if (!environment.production) {
  .....
}

这可能会对你有所帮助。如果你想自己建造一些东西,这将是一个良好的开端。如果查看
configurations.production.fileReplacements
,您将看到
src/environments/environment.ts
替换为
src/environments/environment.prod.ts
。我很确定您可以在这里创建一个
布尔
属性,然后在代码中导入环境以检查它是否处于
prod
模式,然后执行必要的操作。您的解决方案仍然会在生产中添加额外的检查。就像if(isDevMode()){…}