require 在尝试在 define([]) 中加载 require 时不是函数



我正在学习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)但如果您不需要使用 exportsmodulefunction(require)同样有效。

你应该使用 text 插件来加载你的 HTML,否则它会被解释为 JavaScript,显然这是行不通的。安装后,将require('page1.html')更改为 require('text!page1.html')