我正在尝试使用棘轮来反映我的数据库实时更改。 我使用了推送应用程序的代码(http://socketo.me/docs/push)。但我在这方面遇到了错误。
我打开客户端页面的那一刻:
Uncaught ReferenceError: module is not defined when.js:900
(anonymous function) when.js:900
(anonymous function) when.js:15
(anonymous function) when.js:900
在此之后我键入: conn.subscribe( '主题'); //订阅主题。
现在,当我对此主题进行更改时,会弹出一个错误,显示更改。
错误2:
Uncaught TypeError: undefined is not a function [VM] autobahn.min.js (124):66
(anonymous function) [VM] autobahn.min.js (124):66
c._websocket.onmessage [VM] autobahn.min.js (124):66
任何帮助?
答案 0 :(得分:5)
可以使用以下 之前的 解决,包括when.js
文件:
window.define = function(factory) {
try{ delete window.define; } catch(e){ window.define = void 0; } // IE
window.when = factory();
};
window.define.amd = {};
然后,添加您的when.js
文件。
答案 1 :(得分:2)
这是因为您在不使用AMD等模块系统的情况下使用了when.js。
文档解释了如何使用browserify将文件转换为在浏览器中工作,只要您已经完成了
由于when.js主要针对模块化环境,因此默认情况下它不会导出到全局对象(浏览器中为window
)。如果您不想在项目中使用AMD或CommonJS加载器,则可以使用browserify创建自己的when.js构建。
git clone https://github.com/cujojs/when
npm install
npm run browserify
生成build/when.js
npm run browserify-debug
使用何时启用/ monitor / console <script src="path/to/when/build/when.js"></script>
when
将以window.when
window.when.fn.lift
,window.when.sequence
。请参阅browserify构建文件中的完整子命名空间列表