【问题标题】:Making a JavaScript file not required in production environment在生产环境中制作不需要的 JavaScript 文件
【发布时间】:2014-08-26 17:00:06
【问题描述】:

我有一个与 AngularJS 集成的大型 ASP .NET Web 应用程序。我正在尝试重新构建目录以反映更标准化的 Angular 文件结构,但在尝试在不破坏我们的生产站点的情况下进行此转换时遇到了问题。

我们使用 Kentico CMS 来呈现我们的页面,因此它也用于在 <head> 标记中获取应用程序范围的 JavaScript 文件。问题是我无法在不破坏生产版本的情况下将新的 JS 文件添加到 Kentico,因为 JS 文件在生产中不存在,它们只存在于我的本地环境中,直到我们进行生产构建。因此,我想知道是否有办法让 JavaScript 文件包含可选内容,从而不会破坏页面并导致 JS 错误?

这样,我可以在 Kentico 中添加文件并继续在本地开发,而不会破坏生产站点。

【问题讨论】:

  • 为什么你的生产环境和开发环境是相互关联的?您不应该拥有该软件的开发版本吗?
  • 我们只有 CMS 引擎的生产版本。

标签: javascript asp.net angularjs


【解决方案1】:

你需要的是两件事

  1. 一些指标告诉 angularjs 它在 prod/dev 中运行。
  2. 如果环境是 prod 则不加载 javascripts 的指令

您可以获得很多关于如何使用指令动态加载脚本的示例。此类指令的最短可能示例

angular.module('myModule', []).directive('loadScript', [function() {
    return function(scope, element, attrs) {
        angular.element('<script src="/path/to/my/file.js"></script>').appendTo(element);
    }
}]);

你可以看到更多的例子herehere

您需要修改这些答案的是我提到的第 1 点。有一些生产/开发环境的指标。

【讨论】:

  • x如果有帮助,请您接受/支持答案吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-08-09
  • 1970-01-01
  • 2015-11-26
  • 1970-01-01
  • 1970-01-01
  • 2018-03-23
  • 2015-11-09
相关资源
最近更新 更多