requirejs 和 ByteBuffer
requirejs and ByteBuffer
我是 javascript 新手,google 没有帮助:
我试图在 require.js 模块中加载 ByteBuffer.js:
define(['js/ByteBufferAB'], function (ByteBufferAB) {
var MessageBase = function () {
this._version = 0; // unsinged int 16 bits
this._dataType = "";
};
MessageBase.prototype.toBytes = function () {
//console.log( new ByteBufferAB(58));
var headerBytes = new ByteBufferAB(58); // <-- here comes the error
headerBytes.clear();
return headerBytes;
};
return MessageBase;
});
语法相同 math.js 已正确加载。
但是 ByteBufferAB.js 出现以下错误:
Uncaught TypeError: undefined is not a function
我做错了什么?
谢谢你的帮助
在您的 define
调用中,您将模块称为 js/ByteBufferAB
,因此 RequireJS 会查找名为 js/ByteBufferAB
的模块。但是,模块 defines itself 为 ByteBuffer
:
/* AMD */ else if (typeof define === 'function' && define["amd"])
define("ByteBuffer", ["Long"], function(Long) { return loadByteBuffer(Long); });
因为模块名称是硬编码的,所以您需要在给 RequireJS 的配置中的 paths
中有这样的映射:
ByteBuffer: "js/ByteBufferAB"
并且您需要在 define
调用中将模块称为 ByteBuffer
。
None 如果这个库的开发人员没有硬编码名称但他们已经硬编码,那么这将是必需的,所以我们在这里。
我是 javascript 新手,google 没有帮助:
我试图在 require.js 模块中加载 ByteBuffer.js:
define(['js/ByteBufferAB'], function (ByteBufferAB) {
var MessageBase = function () {
this._version = 0; // unsinged int 16 bits
this._dataType = "";
};
MessageBase.prototype.toBytes = function () {
//console.log( new ByteBufferAB(58));
var headerBytes = new ByteBufferAB(58); // <-- here comes the error
headerBytes.clear();
return headerBytes;
};
return MessageBase;
});
语法相同 math.js 已正确加载。
但是 ByteBufferAB.js 出现以下错误:
Uncaught TypeError: undefined is not a function
我做错了什么? 谢谢你的帮助
在您的 define
调用中,您将模块称为 js/ByteBufferAB
,因此 RequireJS 会查找名为 js/ByteBufferAB
的模块。但是,模块 defines itself 为 ByteBuffer
:
/* AMD */ else if (typeof define === 'function' && define["amd"])
define("ByteBuffer", ["Long"], function(Long) { return loadByteBuffer(Long); });
因为模块名称是硬编码的,所以您需要在给 RequireJS 的配置中的 paths
中有这样的映射:
ByteBuffer: "js/ByteBufferAB"
并且您需要在 define
调用中将模块称为 ByteBuffer
。
None 如果这个库的开发人员没有硬编码名称但他们已经硬编码,那么这将是必需的,所以我们在这里。