【问题标题】:Conditionally include JS files in HTML有条件地在 HTML 中包含 JS 文件
【发布时间】:2016-03-08 14:34:51
【问题描述】:

我解释了我想做什么:

我正在开发一个 Angular 应用程序(不确定这是否重要),并且我还在使用 Gruntfile 来缩小我的 JavaScript 代码。

在第一部分中,当我进行开发时,我不希望我的 index.html 文件包含我的 JavaScript 代码的“编译”版本,而是包含我的所有 JavaScript 文件。因为我不想每次想要测试任何修改时都重新启动 grunt 命令。

在第二部分中,我希望“编译”版本不包含我所有的 JS 文件,而只包含用于生产目的的编译版本。

有没有办法做到这一点?如果我正在开发一个 C++ 应用程序,我会实现这样一个简单的机制:

#ifdef DEBUG
   // include all JS files
#else
   // include only the compiled JS file
#endif

【问题讨论】:

  • 你在哪里执行 grunt 命令?
  • 在我的 Angular 应用程序的根目录中,其中有我的 index.html 和 Gruntfile.js 文件。
  • 我的意思是你什么时候打电话给grunt
  • 每次我想测试我的应用程序,因为我的 index.html 文件包含已编译的 JS 文件。手动解决方案是每次我想制作调试或发布版本时注释/取消注释 <script> 标签,但我将 Grunt 集成到我的项目中以避免此类操作。
  • 是的,这可能使用 grunt 插件。不,我们无法提供此类插件的链接。

标签: javascript html gruntjs minify


【解决方案1】:

如果您手动执行授权,那么您可以在 grunt 中创建两个任务

  1. 用于调试
  2. 用于生产

你可以在this link阅读更多关于创建任务的内容

【讨论】:

  • 感谢您的回答,但这对我没有帮助。我知道如何使用 Grunt。缩小效果很好。问题是,就像我的问题的标题所说,我想根据我想要调试或生产版本的事实有条件地在我的 index.html 文件中包含 JS 脚本。我认为这不是 Grunt 问题,而是 HTML 问题。但如果你有 Grunt 解决方案可以做到这一点,请告诉我。
  • 你能附加你的 gruntfile.js
猜你喜欢
  • 2012-04-21
  • 1970-01-01
  • 2013-09-17
  • 2020-12-29
  • 1970-01-01
  • 2016-04-05
  • 1970-01-01
  • 2019-09-19
  • 1970-01-01
相关资源
最近更新 更多