我在使用node-webkit的简单示例中遇到以下错误:
Uncaught AssertionError: path must be a string
的index.html
//base.js
require(["test"], function(test) {
test.init();
});
//test.js
define(function(){
window.c = window.console;
return {
init: function(){
c.log('test.init');
},
destroy: function(){
c.log('test.destroy');
}
}
});
答案 0 :(得分:7)
看起来新版本的RequireJS除requirejs()
外还有一个名为require()
的函数,以避免与节点require()
发生冲突。
答案 1 :(得分:4)
节点提供了自己的require(),因此我必须复制它window.requireNode
,然后将其添加回base.js
回调中:
<script>
window.requireNode = window.require;
window.require = undefined;
</script>
<script data-main="js/base" src="/bower_components/requirejs/require.js"></script>
require(["test"], function(test) {
window.require = window.requireNode;
test.init();
});