gpt4 book ai didi

javascript - DataJS 库未加载到 RequireJS 中

转载 作者:行者123 更新时间:2023-11-29 14:57:57 26 4
gpt4 key购买 nike

我是 RequireJS 的新手,所以这可能是个愚蠢的问题!

我正在使用 require-jquery。

我想加载 DataJS库作为一个模块。它是一个独立的库,不依赖于 jQuery。

这是我的 HTML 文件 start.htm 的样子:

<html>
<head>

</head>
<body>
<script type="text/javascript" src="Scripts/Loader.js"></script>
</body>
</html>

这是 Loader.js 文件的样子:

(function (window, undefined) {

var script = document.createElement('script');
script.async = true;
script.src = "scripts/require-jquery.js";

var entry = document.getElementsByTagName('script')[0];
entry.parentNode.insertBefore(script, entry);
script.onload = script.onreadystatechange = function () {
var rdyState = script.readyState;
if (!rdyState || /complete|loaded/.test(script.readyState)) {

require([
"jquery",
"scripts/datajs-1.1.0"
],
function (jQueryHandle, odata) {
alert(odata);
});

script.onload = null;
script.onreadystatechange = null;
}
};

})(window);

这是我的文件结构:

Project
|
|----- start.htm
|
|----- Scripts
|
|----- datajs-1.1.0.js
|
|----- require-jquery.js
|
|----- loader.js

我认为 datajs 库支持 AMD,因为这是库的样子:

(function (window, undefined) {

var datajs = window.datajs || {};
var odata = window.OData || {};

// AMD support
if (typeof define === 'function' && define.amd) {
define('datajs', datajs);
define('OData', odata);
} else {
window.datajs = datajs;
window.OData = odata;
}

/* -------------------- */

})(this);

我做错了什么?

最佳答案

使用 requirejs 我有这段代码:

<script type="text/javascript" src="0.1/Clientscripts/requirejs/2.1.11/require.js"></script>
<script type="text/javascript">
requirejs.config({
'baseUrl': '0.1/Clientscripts/',
'paths': {
'datajs':'datajs/1.1.2/datajs.min',
'OData':'datajs/1.1.2/datajs.min'
},
'shim': {
'OData':['datajs']
}
});
</script>

在我自己的模块中我这样做了:

define(['datajs','OData'], function (datajs,OData) {
console.log(datajs);
console.log(OData);
console.log(OData.read);
}

这里可以访问 datajs 和 OData 对象。

我个人认为对同一个文件有多个“路径”条目有点尴尬..

如果你能说:

'paths': { 'datajs':'path/to/datajs',...
//and then
require(['datajs/core','datajs/OData'],...

但话又说回来.. 没有什么是完美的:)

关于javascript - DataJS 库未加载到 RequireJS 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14842892/

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