Dar*_*eon 2 javascript requirejs requirejs-text
我想用RequireJS加载一个html内容,如下所示:
define(function (require) {
"use strict";
return function (id) {
var url = 'text!screens/' + id + '.html';
var html = require(url);
}; });
Run Code Online (Sandbox Code Playgroud)
但是我收到此错误: 错误:模块名称"text!screens/home.html_unnormalized2"尚未加载上下文:_
如果我以这种方式尝试:
define(function (require) {
"use strict";
return function () {
var html = require('text!screens/home.html');
}; });
Run Code Online (Sandbox Code Playgroud)
一切都好.但由于硬核提示网址,这种方法并不是很好.我怎么解决这个问题?
Nik*_*los 10
require对于尚未加载的模块,内联参数调用只能异步运行,就像您的情况一样.原则是(也注意url在数组中):
var url = 'text!screens/' + id + '.html';
require([url],
function(text) {
// use text
},
function(err) { // OPTIONAL BUT GOOD PRACTICE
// handle error
}
);
Run Code Online (Sandbox Code Playgroud)
这具有不能立即返回值的不便.另请参阅promises原理(由许多库实现,jQuery也是如此).