【发布时间】:2016-02-22 03:34:35
【问题描述】:
我收到这条消息:Uncaught Error: Module name "core" has not been loaded yet for context: _. Use require([])
我看过How to use jquery ui with requireJS and knockout-sortable? 和How do I use jquery ui with requirejs。
我有一个这样的垫片:
// Note that my paths are set so jqueryui points to right place
'jqueryui/core': ['jquery'],
'jqueryui/widget': ['jqueryui/core'],
'jqueryui/position': ['jqueryui/widget'],
'jqueryui/menu': ['jqueryui/position'],
'jqueryui/autocomplete': [
'jqueryui/core',
'jqueryui/widget',
'jqueryui/position',
'jqueryui/menu'
]
我尝试移除垫片,因为它应该是 AMD。我还尝试了导出$ 以获取来自其他链接的踢球。所有排列都抱怨require('./core')这一行。
我理解这个错误,因为在此之前我从未需要core,但我有垫片。但垫片也可能与相对部分不匹配。
更新更多信息
我的实际标记在加载时是这样的:
<script type="text/javascript" src="/assets/node_modules/requirejs/require.js"></script>
<script type="text/javascript" src="/assets/node_modules/jquery/dist/jquery.min.js"></script>
<script type="text/javascript" src="/assets/js/requireconfig.js"></script>
<script type="text/javascript" src="/assets/js/problemfile.js"></script>
然后问题文件执行:
require(['jqueryui/autocomplete'], function(f) { ... });
但是core.js 中的语法是require('./core')。
由于 Bower 已死/垂死,我使用 npm 直接安装依赖项,所以我相信 jquery-ui 假定我会在服务器上执行 require,而不是在客户端上使用 requirejs。我看到了有关 browserify 的一些信息,但我相信这不适用于我,因为我的应用是 PHP/JS 而不是后端的节点。
正如下面评论中提到的,我不认为这是一个愚蠢的问题,因为它必须专门处理 jquery-ui 包,而不是我自己编写的代码中的错误 require 调用。
【问题讨论】:
-
你为什么不创建一个自定义的 jQuery ui 构建而不是这样加载所有组件...
-
从 jQuery UI 1.11 开始,所有库的源文件都支持使用 AMD
-
@Louis 我不相信这是重复的,因为
require('./core)` 在 jquery-ui 源代码中,而另一张票是关于用户自己的代码
标签: jquery jquery-ui requirejs