我整合RequireJS在CMS所以我把这个在我的页面模板的底部:
<html>
<body>
{Placeholder1}
<script src="scripts/require.js" data-main="scripts/main"></script>
{Placeholder2}
</body>
</html>
然后在每一页上,我想创建一个利用RequireJS功能。 所以,我想在页面的底部放置这样的:
<html>
<body>
<h1>Home</h1>
<div class="slider">Slider content</div>
<script src="scripts/require.js" data-main="scripts/main"></script>
<script type="text/javascript">
require([
'jquery',
'utils',
'slider'
], function ($, utils, slider) {
slider.start();
});
</script>
</body>
</html>
但我得到404级的jQuery的,utils的和滑块js文件。 现在看来似乎不读书我main.js CONFIGS,我有:
require.config({
paths: {
jquery: 'libs/jquery-1.8.1.min',
utils: 'libs/utils',
slider: 'libs/jquery.slider.min'
},
shim: {
slider: ['jquery']
}
});
require([ 'utils' ], function (utils) {
utils.init();
});
我试图加载RequireJS和主要在页面头部,但得到不一致的结果的方式。 有时jQuery的,utils的和滑块将在时间和其他时间没有加载。 这是因为如果内联“规定”在页面的底部是不知道网页上的主要RequireJS或依赖关系规则的,但我在main.js的断点,所以我知道它被调用。 是不是因为main.js获取异步加载,但我的内联“要求”在页面的底部块加载页面上呈现? 如何解决这个问题?
我已经使用RequireJS成功过,但没有一个CMS。 我总是用“定义”,不得不模块总是异步地叫,但从来没有打电话给RequireJS内联函数这样。 在正确的道路任何想法做到这一点?