我正在尝试在我的网站上设置requirejs,我有HTML模块,只想在使用特定的HTML模块时加载JS。
我有这些文件和代码,它工作正常我只是想确保我正确地做到了。下面的示例用于实现带有光滑插件的滑块。我在index.php中包含的php包含滑块的相关HTML。
脚本/模块/ Sliderbanner.js
define(function(require) {
var $ = require('jquery');
var domReady = require('domready');
require('plugins/slick.min');
domReady(function() {
///SLIDER BANNER
$('.slider-banner').slick(});
});
});
脚本/页/ sliderbanner.js
require(['main'], function() {
require(['jquery', 'modules/Sliderbanner'], function($) {
});
});
脚本/ main.js
require.config({
baseUrl: '../scripts',
paths: {
jquery: 'components/jquery/jquery',
domready: 'components/requirejs-domready/domReady'
},
shim: {
'slick.min': ['jquery']
},
urlArgs: "bust=" + (new Date()).getTime()
});
define(function(require) {
var $ = require('jquery');
var domReady = require('domready');
domReady(function() {
});
});
的index.php
<?php include("../organisms/slider-banner.php");?>
<script>require(['page/sliderbanner']);</script>
这看起来或多或少对你不正确吗?我怀疑的是,如果我没有将任何内容传递给模块中的scripts / page / sliderbanner.js,我真的需要它吗?谢谢!
答案 0 :(得分:0)
如果您将所有内容与r.js
捆绑在一起,那么您的示例就会有用。
如果你想异步加载你的JS文件,那么你需要这样做:
// module.js
define(['/path/to/module1.js', 'path/to/module2.js', function (module1, module2) {
// ...
});
// some-other-module.js
define(['/path/to/module.js'], function (module) {
// ...
});