社区首页 >问答首页 >未捕获的错误:尚未为context:_加载模块名称"aaa_bbb_1_pb“。使用require([])

未捕获的错误:尚未为context:_加载模块名称"aaa_bbb_1_pb“。使用require([])
EN

Stack Overflow用户
提问于 2017-02-21 06:01:21
回答 1查看 603关注 0票数 0

我正在尝试使用require加载protobuf js文件,但在控制台上遇到以下异常。

代码语言:javascript
代码运行次数:0
复制
02-21 11:18:06.445 9130-9130/com.p.protoextensiontest I/chromium: [INFO:CONSOLE(5)] "Uncaught Error: Module name "js/proto/data_main_1_pb" has not been loaded yet for context: _. Use require([])
http://requirejs.org/docs/errors.html#notloaded", source: file:///android_asset/www/js/require.js (5)
"Uncaught Error: Mismatched anonymous define() module: function p(){   

下面是我的index.js代码

代码语言:javascript
代码运行次数:0
复制
var proto = require('js/proto/aaa_bbb_1_pb');

function onCreate(){
    console.log("in onCreate");
    parseProto();
}
function parseProto(){
    var name = proto.person.personName;
}

这是我的index.html

代码语言:javascript
代码运行次数:0
复制
<head>
    <title> Testing proto extension</title>
    <script src="js/require.js"></script>
    <script src="js/google-protobuf.js"></script>
    <script src="js/index.js"></script>

</head>
<body>
    <button type="button"  onclick="onCreate()"> Create Data</button> <br/> 
</body>

我是javascript和node.js的新手。请提供任何参考资料。

EN

回答 1

Stack Overflow用户

发布于 2017-02-21 12:07:49

您在index.js中显示的模块是CommonJS格式。它没有包装器,只执行包含单个字符串参数的require调用。

但是,您正在使用RequireJS加载它。RequireJS是一个AMD模块加载器,而不是一个CommonJS模块加载器。您不必完全重写您的require调用来使用AMD格式(具有依赖项数组和回调的require调用),但您至少必须将模块的代码包装在define调用中,如下所示:

代码语言:javascript
代码运行次数:0
复制
define(function (require) {
  var proto = require('js/proto/aaa_bbb_1_pb');

  function onCreate(){
      console.log("in onCreate");
      parseProto();
  }

  function parseProto(){
      var name = proto.person.personName;
  }
}

请注意,onclick=onCreate()仍然不能工作。使用模块的目标之一是避免将所有东西都放在全局空间中。因此onclick无法访问onCreate。使其可访问的最小方法是在函数的定义之后添加window.onCreate = onCreate,但我不建议这样做。您应该添加一个导出的函数,您可以使用button对象在初始化时调用该函数,该函数将调用addEventListener("click", onCreate),或者模块可以搜索页面上的特定元素(通过ID、类名等)并调用addEventListener("click", onCreate)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42359797

复制
相关文章
微信定位精灵服务器或网络异常,微信定位精灵系统界面无法更新怎么办
我们在前几篇微博中讲到了如何开始使用微信定位精灵,点击这里传送门,如果需要序列号,可以参考这篇文章《微信定位精灵免费序列号赠送》
全栈程序员站长
2022/09/02
1.4K0
PIC版图的DRC检查
在集成电路中,DRC(design rule checking)检查是EDA的重要组成部分。顾名思义,也就是检查版图(layout)是否满足Fab的设计规则,避免错误的发生,导致整个电路设计不可以使用,造成巨大的经济与时间损失,影响项目的进展。
光学小豆芽
2020/08/13
1.9K0
h5链接跳转到小程序_微信无法跳转外部链接
最近项目有个需求,在微信小程序中跳转外部链接完成相关的操作,操作完成后返回微信小程序的相关页面。
全栈程序员站长
2022/09/21
1.8K0
h5链接跳转到小程序_微信无法跳转外部链接
BGP邻居无法建立故障定位
在两端分别查看无法建立的BGP邻居的情况,例如ipv4单播邻居无法建立可以执行display bgp peer命令,查看Router ID是否冲突。显示Router ID信息的命令行示例如下:
网络工程师笔记
2021/05/17
1.9K0
网页元素竟然无法定位......
最近接了个项目,网页元素定位比以往的要全乎许多,多种多样的情况都遇到了,初级高级都用到了,最简单的初级比如直接通过id,name,class来定位获取,高级一点比如模糊查找,模糊匹配,前后查找等等。 今天要说一点,关于页面内嵌套的元素查找,以前的项目比较单一,没有遇到什么特别棘手的,最近就遇到了,我能在Chrome浏览器F12开发者模式下通过Xpath或者CSS定位到这个元素,但是当我在运行在脚本中的时候,搞了一上午(也应该多查下资料,不要在这里死磕)死活定位不到我要的元素,我就奇怪了,为什么会定位不到呢,是电脑出现问题还是脚本出现什么问题?
软测小生
2019/07/04
1.7K0
网页元素竟然无法定位......
解决 iPhone 微信 H5 无法自动播放音乐问题
使用 wx sdk 在html导入sdk js文件。(如果网站是https导入的sdk也要使用https!) 然后在 wx.ready 中设置 play 方法并复制给全局变量 fm,当需要使用的时候再调用 fm()
超超不会飞
2020/09/18
1.1K0
H5获取定位信息 原
<html> <head> <meta charset="UTF-8"> <script type="text/javascript" src="http://api.map.baidu.com/ap
晓歌
2018/08/15
8030
Android H5元素定位
在混合开发的App中,经常会有内嵌的H5页面。那么这些H5页面元素该如何进行定位操作呢?
清风穆云
2021/08/09
3.4K1
iOS 解决微信h5支付无法直接返回APP的问题
由于公司的业务需要,为了节省申请开通微信支付的时间和人力,公司决定使用微信h5支付。这样即节省了时间,同时以后所有的APP都能使用h5支付,既方便又快捷。
用户6493868
2022/03/06
7400
iOS 解决微信h5支付无法直接返回APP的问题
由于公司的业务需要,为了节省申请开通微信支付的时间和人力,公司决定使用微信h5支付。这样即节省了时间,同时以后所有的APP都能使用h5支付,既方便又快捷。
安德玛
2022/03/08
2.3K0
微信定位精灵 android,微信定位精灵安卓版下载「建议收藏」
微信定位精灵安卓版下载是一款非常好用的位置伪装软件。可以让用户不会受任何地理位置的限制,也不需要担心自己被查岗的问题了,支持的软件也是很丰富的,定位也都是非常精准的。感兴趣的话就不要错过了,不妨来下载体验一下吧!
全栈程序员站长
2022/07/01
2.9K0
getcwd无法定位当前工作目录
shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
summerking
2022/09/16
1.8K0
微信定位精灵服务器或网络异常,为什么微信定位精灵定位不了怎么办?
2、按图示设置如下,然后缩小地图,把光标定位在大马或任意地方,点击左上角的圆形定位按键完成定位,点右上角的菜单栏,选择“启动微信”,接下来的正常操作就行了。
全栈程序员站长
2022/08/23
3.3K0
微信定位精灵服务器或网络异常,为什么微信定位精灵定位不了怎么办?
glui.h无法找到描述+解决+测试
GLUI 是一个基于 GLUT 的 C++ 用户界面库,它为 OpenGL 应用程序提供按钮、复选框、单选按钮和微调器等控件。它独立于窗口系统,使用 GLUT 或 FreeGLUT。
zhangrelay
2022/08/10
6220
glui.h无法找到描述+解决+测试
微信小程序定位权限怎么打开_怎么用微信定位朋友的位置
最近有客户提了一个需求,要求登陆考试系统的测评者记录下当时的位置。web形式的虽然可以通过IP来定位,但是IP太容易作假了,所以为了比较高的准确性,最后决定用微信小程序,虽然也有作假的可能,但比web形式要好一些。
全栈程序员站长
2022/11/01
19.9K0
微信小程序定位权限怎么打开_怎么用微信定位朋友的位置
玩转H5微故事
形式多种多样,目的无非是推广某一个东西--产品、活动抑或是品牌。怎么去推广呢?我们一般喜欢给用户讲一个故事。下面的截图是几个比较火热的H5案例,我们可以看到“首草”讲了一个你与妻子的故事,我们共同经历了岁月变迁,妻子对你的付出如蜡炬生光,半生为你,你该以何为报?“淘宝”年度账单,把无聊的数据像情话一样的轻轻的告诉你,回顾我们的初见,勾起这段剁手情缘的点点滴滴。当然淘宝打的不是情感牌,突出的是年轻活力逗比的感觉。对,H5就像是一本薄薄的小书,会编织故事是H5设计者的必备技能。 所以该怎么去讲H5的微故事呢
腾讯大讲堂
2018/02/13
1.3K0
玩转H5微故事
pic单片机流水灯循环右移c语言,PIC单片机流水灯程序[通俗易懂]
;******************************************
全栈程序员站长
2022/08/14
1K0
PIC单片机编程小技巧
在pic单片机编程当中,会遇到这个问题,程序已经没有问题,也烧录成功了,硬件也上电了,但是为什么什么反应也没有呢? 后来我发现是我的configuration bits没有配置好,以下是我总结出来,如何让PIC正常工作的所需作的检查,前提是代码没有问题。 1、选择好芯片; 2、设置好Configuration Bits;
用户4645519
2020/09/07
6880
PIC单片机编程小技巧
PIC32MZEF学习笔记之:初识板卡
企鹅号小编
2017/12/27
1.3K0
PIC32MZEF学习笔记之:初识板卡
EasyNVR H5无插件RTSP直播方案在Windows server 2012上修复无法定位GetNumaNodeProcessorMaskEx的问题
今天遇到一个客户在使用EasyNVR无插件安防摄像机直播解决方案的时候,在Windows Server 2012上出现一个问题提示:
EasyNVR
2020/04/23
9250
EasyNVR H5无插件RTSP直播方案在Windows server 2012上修复无法定位GetNumaNodeProcessorMaskEx的问题

相似问题

用于微芯片PIC的Modbus堆栈

41

微芯片PIC16F1829深度睡眠

23

qt -微件-定位

21

Ubuntu 11.04下的PIC微汇编器

22

微芯片PIC引导flash或操作罕见行为

25
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档