使用 requirejs 加载:long、ByteBuffer 和 ProtoBuff
Loading: long, ByteBuffer and ProtoBuff with requirejs
正在从事一个使用 ProtoBuff 获取其内容的项目。在 HTML 中加载 JavaScript 使其工作一次。现在重构以使用 requirejs 加载脚本。但是当我尝试使用这些脚本时,它给出了一个错误,告诉我脚本没有加载。
- Require.js 加载在 index.html
- Bower 用于管理依赖项。
我很确定我在这里遗漏了一件(简单的)事情,希望有人能提供帮助。
requirejs.config({
long : "long",
ByteBuffer : "ByteBuffer",
ProtoBuf : "ProtoBuf"
});
requirejs([ "long", "ByteBuffer", "ProtoBuf" ],
function( long, ByteBuffer, ProtoBuf ) {
});
文件 long.js、ByteBuffer.js 和 ProtoBuf.js 都在与 App.js 相同的映射中,其中调用了它。
*虽然这个 看起来很有希望,但我想我在这里遗漏了一些东西。
这确实有效,这些文件中的函数可以在其余范围内访问:
requirejs([ "otherPage", "differentPage" ],
function( util ) {
});
您需要确保正确连接了 requirejs 并加载了相关的原型库。
您可以使用 bower 来管理依赖项。安装 bower
和
bower install long byteBuffer protobuf requirejs-text requirejs-proto
最终代码可能如下所示:
require.config({
paths: {
'Long': '../../bower_components/long/dist/Long',
'ByteBuffer': '../../bower_components/byteBuffer/dist/ByteBufferAB',
'ProtoBuf': '../../bower_components/protobuf/dist/ProtoBuf',
'text': '../../bower_components/requirejs-text/text',
'proto': '../../bower_components/requirejs-proto/proto'
},
proto: {
ext: 'proto',
convertFieldsToCamelCase: false,
populateAccessors: true
}
});
require(['proto!test'], function(builder) {
var pack = builder.build('pack');
var Message1 = builder.build('pack.Message1');
});
require(['proto!test::pack.Message1', 'proto!test::pack.Message2'], function(Message1, Message2) {
...
});
的一些代码
正在从事一个使用 ProtoBuff 获取其内容的项目。在 HTML 中加载 JavaScript 使其工作一次。现在重构以使用 requirejs 加载脚本。但是当我尝试使用这些脚本时,它给出了一个错误,告诉我脚本没有加载。
- Require.js 加载在 index.html
- Bower 用于管理依赖项。
我很确定我在这里遗漏了一件(简单的)事情,希望有人能提供帮助。
requirejs.config({
long : "long",
ByteBuffer : "ByteBuffer",
ProtoBuf : "ProtoBuf"
});
requirejs([ "long", "ByteBuffer", "ProtoBuf" ],
function( long, ByteBuffer, ProtoBuf ) {
});
文件 long.js、ByteBuffer.js 和 ProtoBuf.js 都在与 App.js 相同的映射中,其中调用了它。
*虽然这个
这确实有效,这些文件中的函数可以在其余范围内访问:
requirejs([ "otherPage", "differentPage" ],
function( util ) {
});
您需要确保正确连接了 requirejs 并加载了相关的原型库。
您可以使用 bower 来管理依赖项。安装 bower
和
bower install long byteBuffer protobuf requirejs-text requirejs-proto
最终代码可能如下所示:
require.config({
paths: {
'Long': '../../bower_components/long/dist/Long',
'ByteBuffer': '../../bower_components/byteBuffer/dist/ByteBufferAB',
'ProtoBuf': '../../bower_components/protobuf/dist/ProtoBuf',
'text': '../../bower_components/requirejs-text/text',
'proto': '../../bower_components/requirejs-proto/proto'
},
proto: {
ext: 'proto',
convertFieldsToCamelCase: false,
populateAccessors: true
}
});
require(['proto!test'], function(builder) {
var pack = builder.build('pack');
var Message1 = builder.build('pack.Message1');
});
require(['proto!test::pack.Message1', 'proto!test::pack.Message2'], function(Message1, Message2) {
...
});
的一些代码