我目前正在开发的系统之一有许多解决方案,每个解决方案都有一个MVC UI项目(参见下面的示例布局)。大多数UI项目共享相当数量的JavaScript和CSS。目前,我们正在复制和合并在每个UI项目中对常见JS所做的任何更改(同样,在不同的解决方案中),这是不理想的。
以下是一些解决方案的简化视图:
Solution1
-- Solution1-UI
-- Scripts directory (includes both shared JS and JS specific to this UI project)
Solution2 solution
-- Solution2-UI
-- Scripts directory (includes both shared JS and JS specific to this UI project)
Solution3 solution
-- Solution3-UI
-- Scripts directory (includes both shared JS and JS specific to this UI project)
... other solutiuons with the same issue
我理想的做法是创建一个可以包含公共JS的通用解决方案或包(或其他东西),并且可以被所有受影响的解决方案(Solution1,Solution2等)引用。
快速搜索显示,如果项目位于同一解决方案中(即How do you share scripts among multiple projects in one solution?),可以执行此操作,但我们的用例略有不同。
实现这一目标有哪些可接受的方式?
答案 0 :(得分:1)
在这种情况下,您需要拥有自己的CDN,您将创建一个单独的网站,通过URL提供您的JS文件,而您的其他解决方案只是引用这些URL。
在您的解决方案中,您将引用这些脚本与使用jquery CDN时的脚本相同,但您自己的网址来自您创建的公共网站解决方案。
我能想到的另一个解决方案就是将您的脚本上传到像amazon s3或google cloud这样的服务,然后从那里获取对这些文件的引用。