是否可以以某种方式“标记”一段代码,以便将其包含在“开发”模式下,而在“生产”模式下省略。
我知道角度有:
if (isDevMode()) {...}
但是我可以避免代码检查是否也是dev模式吗?
答案 0 :(得分:0)
唯一想到的就是为此使用environment.ts。
在您的environment.dev.ts中:
export const environment = {
doSomething() {
// Do your dev stuff here
}
}
在您的环境中。prod.ts:
export const environment = {
doSomething() {
// Leave empty
}
}
在您的组件/服务/任何可以从环境调用的位置。由于环境将被替换,因此开发代码将仅包含在您的开发包中。
答案 1 :(得分:0)
您可以使用诸如webpack之类的构建工具,并使其包含基于别名并与NODE_ENV
结合使用的文件。 NODE_ENV
在开发人员模式下为development
,在生产模式下为production
。
最简单的方法是在webpack.dev.config中使用别名加载dev文件,并在webpack.prod.config中加载生产文件。
// dev
module.exports = {
//...
resolve: {
alias: {
Something: path.resolve(__dirname, 'dev/foo/')
}
}
};
// prod
module.exports = {
//...
resolve: {
alias: {
Something: path.resolve(__dirname, 'prod/foo/')
}
}
};
如果要使用一个配置文件,则可以在配置中使用三元组。
答案 2 :(得分:0)
只需将您的环境文件导入您的组件中即可:
import { environment } from './environments/environment';
并在您的脚本中执行:
if (!environment.production) {
.....
}