我从事前端开发工作,正在寻找一种在(非压缩和多个文件)开发环境和(压缩和组合文件)实时环境之间使用 javaScript 的解决方案。
我找到了一个使用 CSS 的解决方案,这意味着我只需要在导入中包含一个全局 CSS 文件,然后我们在部署到实时环境时合并并压缩这些导入。这意味着我们不必为 dev 和 live 切换添加引用到 head 中。
关于 JavaScipt 的类似解决方案的任何想法?
谢谢
戴夫
我从事前端开发工作,正在寻找一种在(非压缩和多个文件)开发环境和(压缩和组合文件)实时环境之间使用 javaScript 的解决方案。
我找到了一个使用 CSS 的解决方案,这意味着我只需要在导入中包含一个全局 CSS 文件,然后我们在部署到实时环境时合并并压缩这些导入。这意味着我们不必为 dev 和 live 切换添加引用到 head 中。
关于 JavaScipt 的类似解决方案的任何想法?
谢谢
戴夫
如果您使用的是jQuery,那么从 Javascript 中包含外部 Javascript 文件真的很容易,这基本上就是您描述的使用 CSS 所做的。
阅读 jQuery getScript()
您可以使用Charles Web 调试代理。或者类似的东西。
Charles 允许提供任何本地文件而不是任何 url。所以你可以给你的浏览器你的本地 JS 文件而不是 live JS。因此,您将能够测试 JS 或 CSS 更改而无需向您的用户展示它们。
我使用ESC将所有独立的 JavaScript 合并并压缩到一个中央 JavaScript,并让它作为“构建后”任务运行。
对于 Visual Studio,我编写了一个我编写的小型控制台应用程序(就像有人提到的 ESC),用作构建后事件。这很简单,但可以自动化您描述的工作:
.js
文件中然后在site项目中,从一个资源中加载文件,在一个类中进行toggle
List<string> files = new List<string>();
#if DEBUG
files.Add("MyNamespace.Javascript.script1.js");
files.Add("MyNamespace.Javascript.script2.js");
#else
files.Add("MyNamespace.Javascript.Live.js"); // single file
#endif
// ScriptManager.Register them
您还可以对 JS 文件启用 GZIP 压缩,以加快加载速度。如果您不使用 Microsoft 开发环境,那么我将删除它。
我不知道您的开发环境是什么样的,但您可以将所有脚本标签放入一个文件中进行开发,并为生产设置另一个文件,其中包含您的单个文件的脚本标签。例如:development_js.extension
和production_js.extension
。
然后只需使用服务器端包含或一些构建工具将正确的文件合并到您的 HTML 文件中。
感谢您的所有回复。我提出了一个使用您的一些想法的解决方案。
我有一个全局 js 文件,其中包含要包含的文件列表,并且在开发期间运行时仅将脚本链接写入页面。
然后在部署过程中包含一个脚本,它解析全局 js 文件,查找它链接在一起的文件,将它们组合并压缩到一个全局 js 文件中。
这意味着在此过程中我不需要任何服务器端代码,这使得在自由前端开发团队中更容易维护。
准备好后,我会在我的博客上发布最后一堆代码。