javascript - 如何声明配置文件变量并将其集成到JS文件中?如何排除/包含构建功能?

标签 javascript gruntjs profiles

后端开发人员正在询问前端。

我有两个完全不同的函数。其中一个用于制作,另一个用于本地开发。比如我在一个开发模式下,情况是这样的:

/*
function f() {
    // production logic
}
*/
function f() { 
    // development logic
}

如您所见,我总是对其中一个函数进行注释。在为生产构建构建之前,我应该删除对生产功能的评论,并将它们添加到开发功能中。

我真的不想制作 if 语句,我将在其中检查一些变量(如果值等于 "DEV" 那么 ... else 。 ..).函数太大,包含许多不连续的部分。

我在谷歌上搜索了很多,但什么也没找到。是不是有点像像带有可以集成到 JS 文件中的变量的配置文件之类的东西?或者用注释标记函数,该注释排除/包含构建中/构建中的函数,如 possible with HTML .

Grunt 正在收集该项目。

最佳答案

作为@dlsso在评论中提到,有一个有效的 npm插件 grunt-dev-prod-switch根据您所处的模式修改源文件。

Use to switch between previously defined block comment blocks in project files to change the environment from development to production and back.

配置后,它允许我执行以下操作:

/* env:prod */
function f() { ... }
/* env:prod:end */

/* env:dev */
function f() { ... }
/* env:dev:end */

插件确定打开哪个模式/环境(dev_prod_switch.options.environment),分析文件的注释(定义在dev_prod_switch.all.files property)和spoils(评论)所有方 block 都与当前模式无关。

例如开启生产模式:

/* env:dev *#/
function f() { ... }
/* env:dev:end */

关于javascript - 如何声明配置文件变量并将其集成到JS文件中?如何排除/包含构建功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39264362/

相关文章:

entity-framework - 如何在 mvc4 中分离调试和释放连接等

javascript - For 循环在 1 次循环后停止

javascript - jQuery 自动完成验证

javascript - React useContext 返回未定义

javascript - 为什么我的 grunt-contrib-requirejs 没有优化任何东西?

maven - 当文件存在时使用通配符激活配置文件

javascript - 如何通过字符串动态导入icon/jsx元素?

javascript - 超出 Grunt CSS minifier 调用堆栈

wordpress - 轻松移动环境:deploybot,docker还是手动grunt/gulp设置?

Django注册和多个配置文件