如何告诉Require.js为多个主电源使用相同的路径和垫片?

时间:2013-05-21 21:50:40

标签: javascript requirejs amd

我们有一套类似的应用程序,都是使用相同的代码库构建的。目前有5个不同的main.js文件,它们都重复相同的

requirejs.config({
  paths: { foo foo foo },
  shim: { bar bar bar }
});
每个主要的

。理想情况下,我可以通过仅定义一次这些值来保持此DRY。是否可以在main.js文件外部的某个位置定义它们?

提前致谢!

2 个答案:

答案 0 :(得分:0)

删除其中4个文件并从以下位置更改您的代码:

<script data-main="js/main1.js" src="[requirejs path]"></script>
<script data-main="js/main2.js" src="[requirejs path]"></script>
<script data-main="js/main3.js" src="[requirejs path]"></script>
<script data-main="js/main4.js" src="[requirejs path]"></script>
<script data-main="js/main5.js" src="[requirejs path]"></script>

<script data-main="js/main1.js" src="[requirejs path]"></script>
<script data-main="js/main1.js" src="[requirejs path]"></script>
<script data-main="js/main1.js" src="[requirejs path]"></script>
<script data-main="js/main1.js" src="[requirejs path]"></script>
<script data-main="js/main1.js" src="[requirejs path]"></script>

然后在每个启动特定应用的文件中放入一个小的内联片段,例如

<script type="text/javascript">
require(['app1'], function(App) { App.init() }) 
</script>

<script type="text/javascript">
require(['app2'], function(App) { App.init() }) 
</script>

答案 1 :(得分:0)

我为此创建了自己的Require.JS个人发行版。

它基本上是原始的Require.JS代码,其配置(路径和填充程序)连接到底部。这意味着我的项目永远不必声明在哪里可以找到jQuery等等。非常方便。

注意:我的个别项目仍然可以调用require.config来设置项目特定的位置等。这在技术上是第二次调用它(因为第一次在加载Require.JS时调用)但它根据我的测试工作正常。