我们有一套类似的应用程序,都是使用相同的代码库构建的。目前有5个不同的main.js文件,它们都重复相同的
requirejs.config({
paths: { foo foo foo },
shim: { bar bar bar }
});
每个主要的。理想情况下,我可以通过仅定义一次这些值来保持此DRY。是否可以在main.js文件外部的某个位置定义它们?
提前致谢!
答案 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时调用)但它根据我的测试工作正常。