gpt4 book ai didi

javascript - 加载 requirejs 和 jquery 时出错

转载 作者:数据小太阳 更新时间:2023-10-29 04:44:33 24 4
gpt4 key购买 nike

我正在尝试使用 requirejs 和 jquery 为 AMD 做一个简单的演示。以下是我的文件夹结构结构:

├── index.html
└── js
├── lib
│   ├── jquery.js
│   └── require.js
└── main.js

在我的 index.html 文件中有以下内容:

  <head>
<script data-main="js/main" src="js/lib/require.js"></script>
</head>

<body>
<div id="hello"> </div>

</body>

我的 main.js 文件如下所示:

define(['lib/jquery'], function ($) {

$("#hello").html("Wow this works!");

});

但是当我这样做时,我得到一个错误:Uncaught TypeError: undefined is not a function in main.js line 3。

怎么了?看不懂?

最佳答案

阅读本期:https://github.com/jrburke/requirejs/issues/435

我的理解是这是因为 jquery 是如何定义自己的。它使用命名定义调用:

define( "jquery", [], function () { return jQuery; } );

所以现在,如果您需要 'lib/jquery',它将无法工作。您必须完全要求 'jquery' 才能工作。

编辑:

如果你想把 jquery 放在 lib/ 文件夹中,你的基本 url 是 lib/ 的父文件夹(lib/../) 你可以使用这样的垫片:

requirejs.config({
baseUrl: 'js',
shim: {
'lib/backbone': {
deps: ['lib/underscore', 'lib/jquery'],
exports: 'Backbone'
},
'lib/underscore': {
exports: '_'
},
'lib/jquery': {
exports: '$'
}
}
});

requirejs(['lib/jquery'], function($) {
// use $
});

关于javascript - 加载 requirejs 和 jquery 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12983841/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com