Javascript 是否有可能编写一段在prod版本中被省略的代码
是否可能以某种方式“标记”一段代码,使其包含在“dev”模式中,但在“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
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()){…}