我正在学习requireJS的基础知识。我试图将我的html代码加载到index.html #container DOM。但我有一个错误
"要求不是一个功能"
这是我的代码:
的 1。的index.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.page1.js
define([], function (require) {
var view1 = function(){
this.init = function(){
template = require('page1.html');
$("#container").html(template);
}
};
return view1;
});
答案 0 :(得分:1)
您应该将空的依赖关系数组放在define
中,如下所示:
define(function (require) {
如果你这样做,RequireJS将解释你想要使用CommonJS风格的require
调用,并自动将require
函数作为你回调的第一个参数传递。当您拥有空数组时,RequireJS会将您的模块解释为普通的AMD模块,并且不会向其传递任何内容。
请参阅文档的this section。如果您不需要使用function(require, exports, module)
和function(require)
,则文档会显示exports
,但module
也可以正常工作。
您应该使用text
plugin加载HTML,否则它将被解释为JavaScript,显然这不会起作用。安装完成后,将require('page1.html')
更改为require('text!page1.html')
。