我正在编写jquery插件。由于插件包含大量代码,所以我决定将代码分成几个文件并使用require.js。我正努力做到两件事:
我的index.html包含:
<script data-main="js/site" src="js/vendor/require.js"></script>我的js/site.js包含:
require([
'jquery',
....
....
'main' //<---- main plugin file
], function($) {
$(function() {
$('#elem').photosGrid();
});
});我的main.js文件包含:
define([
'photos-grid' //<---- Class that initialized and build the plugin
], function(PhotosGrid) {
jQuery.fn.photosGrid = function(options) {
var photosGrid = new PhotosGrid(this, options);
this.data('photosGrid', photosGrid);
return this;
};
return jQuery;
});为了配置r.js,我添加了build.js文件:
({
baseUrl: '.',
name: "main",
out: "main-built.js"
})当我运行我的index.html时,我的插件工作得很好。但是,当我运行node r.js时,我会得到以下错误:
Error: Mismatched anonymous define() module当我用名称定义main.js时:
define('module-name', ['photos-grid'], function(PhotosGrid) { .....node r.js不返回错误,但没有输出。此外,index.html不加载main.js (“照片-网格”)的依赖项,因此该网站无法工作。
我做错了什么?如何正确使用r.js?
https://stackoverflow.com/questions/15721433
复制相似问题