我正在学习requireJS的基础知识。我试图将我的html代码加载到索引.html #container DOM。但是我有一个错误
"要求不是函数"
这是我的代码:
1. 指数.html
<script data-main="js/app" src="js/require.js"></script>
2.app.js
require(['../page1'], function(View){
var v = new View();
v.init(); });
3.第1页.js
define([], function (require) {
var view1 = function(){
this.init = function(){
template = require('page1.html');
$("#container").html(template);
}
};
return view1;
});
你应该把空的依赖数组放在你的define
中,像这样:
define(function (require) {
如果这样做,RequireJS 将解释您要使用 CommonJS 样式的require
调用,并自动传递 require
函数作为回调的第一个参数。当您有空数组时,RequireJS 会将您的模块解释为普通的 AMD 模块,并且不会向其传递任何内容。
请参阅文档的此部分。文档显示了function(require, exports, module)
但如果您不需要使用 exports
和 module
,function(require)
同样有效。
你应该使用 text
插件来加载你的 HTML,否则它会被解释为 JavaScript,显然这是行不通的。安装后,将require('page1.html')
更改为 require('text!page1.html')
。