标签: amd

requirejs + jqueryui = $ .widget未定义

我正在使用requirejs + jquery + jqueryui.我已经阅读了很多关于如何做到这一点的例子.我想我了解各种方法,在我看来,我的设置应该正常工作.但是,我偶尔会在依赖于jquery-ui的自定义模块中获得$ .widget未定义的错误.这是一种痛苦,因为它不一致且难以复制,因此我很难测试其他方法.

我没有填充所有的jquery插件,因为有很多.相反,我正在使用单独的requirejs调用加载jquery.然后,在回调中,我加载其余的东西.这样我就不必维护所有jquery插件的填充程序列表.

对于jquery-ui,我使用垫片使其依赖于jquery.然后我使用小部件工厂的所有自定义模块在其依赖项列表中都有"jquery-ui".

在我的模板中......

requirejs.config({
    baseUrl: ATHLETE.siteConfig.jsBaseUrl,
    paths: {
        'jquery': '//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min',
        'jquery-ui': '//ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min'
    },
    shim: {
        "jquery-ui": ['jquery']
    },
    waitSeconds: 15
});

requirejs(['jquery'], function($) {
    requirejs(['site'], function() {
        requirejs(['mypage']);
    });
});
Run Code Online (Sandbox Code Playgroud)

请注意,我在mypage.js之前加载site.js. 他们有一些共享的依赖项.在我的构建配置中,我从mypage.js中排除了site.js,因此共享依赖项被编译到site.js而不是mypage.js.因此,我需要在加载mypage.js之前完全加载site.js,否则require可能会尝试单独加载这些共享依赖项.

这是我的一个示例自定义模块,它依赖于jquery-ui.

define([
    'jquery',
    'jquery-ui'
],function($) {
    $.widget('ui.viewAllSponsorsWidget', $.ui.dialog, {
        options: {
            autoOpen: false,
            dialogClass: 'view-all-sponsor-dialog-wrap',
            draggable: false,
            modal: true,
            resizable: false,
            width: 370,
            height: 400
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

错误$ .widget未定义是由此的第5行和我的类似自定义模块引起的.再次,它真的不一致,很难再现.通常情况下,即使清除缓存,我也不会收到错误.任何人都可以想到在jquery-ui完全加载之前第5行可能会被执行的方式吗?

更新2013年8月16日

我已经能够跟踪这一点了.我创建了一个依赖于jquery和jquery-ui的简单模块.

define([
    'jquery',
    'jquery-ui'
],function($) {
    console.log('$.widget is …
Run Code Online (Sandbox Code Playgroud)

jquery-ui amd requirejs jquery-ui-widget-factory

9
推荐指数
1
解决办法
1万
查看次数

在AMD Radeon上尝试使用OpenCL + Theano时,获取"pygpu已配置但无法导入"错误

我遵循了以下说明:

https://gist.github.com/jarutis/ff28bca8cfb9ce0c8b1a

但是当我尝试时:
测试文件中的THEANO_FLAGS = device = opencl0:0 python test.py 我收到错误:

错误(theano.sandbox.gpuarray):pygpu已配置但无法导入Traceback(最近一次调用最后一次):文件"/home/mesayantan/.local/lib/python2.7/site-packages/theano/sandbox/gpuarray/init .py",第20行,in

import pygpu
Run Code Online (Sandbox Code Playgroud)

文件"/ usr/src/gtest/clBLAS/build/libgpuarray/pygpu/init .py",第7行,in

from . import gpuarray, elemwise, reduction
Run Code Online (Sandbox Code Playgroud)

文件"/usr/src/gtest/clBLAS/build/libgpuarray/pygpu/elemwise.py",第3行,in

from .dtypes import dtype_to_ctype, get_common_dtype
Run Code Online (Sandbox Code Playgroud)

文件"/usr/src/gtest/clBLAS/build/libgpuarray/pygpu/dtypes.py",第6行,in

from . import gpuarray
Run Code Online (Sandbox Code Playgroud)

ImportError:无法导入名称gpuarray

我没有好主意.我是第一次使用这些.我正在研究Ubuntu 14.04 LTS.我该如何解决这个错误?

amd opencl theano

9
推荐指数
2
解决办法
1万
查看次数

为什么我需要加载JavaScript模块,所有这些加载器之间有什么区别?

问题1:

为什么我需要在网页中异步加载我的JavaScript文件?我可以在服务器端看到它的基本原理,但如果我知道我需要在客户端加载的所有文件,为什么我不应该将所有源文件连接成1个文件并在页面加载时加载?第一个初始页面加载是否如此重要,以至于由于检索每个JS文件的延迟而导致未来的操作可能会变慢?

问题2:

假设问题1的答案是我需要单独加载JS文件:

AMD异步加载每个JS文件,CommonJS同步加载.服务器端加载需要CJS(如果我没有弄错的话,这就是Node.js的工作方式).AMD似乎更适合客户.因此,在客户端中使用CJS的唯一原因是与服务器共享代码.

有没有办法让AMD和CJS发挥得很好,以便客户端JS文件可以异步加载但仍然具有CJS语法?

(究竟是什么require.js呢?我不能为我的生活在他们的网站上的线条之间阅读.)

javascript amd commonjs

8
推荐指数
1
解决办法
1989
查看次数

使用含杏仁的grunt requirejs导致"定义未定义"

在我的grunt.js文件中,我有

requirejs: {
    dist: {
        options: {
            almond: true,
            wrap: true,
            modules: [{name: 'main'}],
            mainConfigFile: "src/js/main.js",
            baseUrl: "src/js",
            dir: "tmp/js",
            inlineText: true,
            preserveLicenseComments: false
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

运行使用一些缩小的文件grunt requirejs:dist填充tmp/js目录 - 其中包括一个大的main.js文件(所有内容似乎都按预期捆绑在此文件中) - 但是当我想要包含此文件时

<script type="text/javascript" src="tmp/main.js"></script>
Run Code Online (Sandbox Code Playgroud)

它导致了 "Uncaught ReferenceError: define is not defined"

使用杏仁的意图是我不需要加载require.js文件来加载我的opimized文件 - 任何想法如何让它工作?

脚注:我已经设法这样做,除了之前main-built.js已经编译了一个文件,但是这似乎不再是这种情况了(更新... -.-)

amd requirejs js-amd almond r.js

8
推荐指数
1
解决办法
2745
查看次数

如何解决Require.js中的循环依赖?

基本上,我们的想法是"sub"模块创建一个对象,该对象应该是作为"主要"模块的实用程序库的一部分.但是,"sub"对象依赖于"main"中的实用程序:

// Main module
define(['sub'], function(sub) {
    var utils = {
        utilityMain: function () {
           // ...
        };
        // ...
    };

    tools.subModule = sub;

    return tools;
});

// Sub module
define(['main'], function(main) {
    return new (function () {

        // Singleton object using functions in main module
        var somestuff = function () {
            main.utilityMain();
            // etc
        };
    })();
});   
Run Code Online (Sandbox Code Playgroud)

我如何通过require.js实现这一目标,而不会产生吞噬整个星球的黑洞?

非常感谢你.

javascript amd circular-dependency commonjs requirejs

8
推荐指数
1
解决办法
7846
查看次数

如何将RequireJS配置放在单独的文件中并使r.js优化器工作?

RequireJS设置的大多数示例,将配置对象放在main.js入口点,如下所示:

//main.js
require.config({
"paths": {
    //libs
    "lib1": "assets/js/lib/lib1",
    "lib2": "assets/js/lib/lib2",
    "lib3": "assets/js/lib/lib3",
    "lib4": "assets/js/lib/lib4"
    }
});
//start the app
define(["lib1"], function(lib1){/*start the app*/});
Run Code Online (Sandbox Code Playgroud)

我更喜欢将配置对象放在一个单独的文件中,因为随着它的增长,很难在​​同一个文件中维护.

当我在浏览器中运行它时,以下设置有效,但由于某种原因,我在运行r.js优化器时遇到错误:

//config.js
define({/*all configuration here*/});

//main.js
define(["config", "require"], function(config, require){
    requirejs.config(config); //set configuration
    require(["app"]); //launch app, where "app" path is defined in config.js
});
Run Code Online (Sandbox Code Playgroud)

当我运行r.js时,我收到以下错误:

*跟踪:main的依赖关系

错误:ENOENT,没有这样的文件或目录'C:\ Work\project\target\app.js*

所以似乎r.js没有得到配置设置,因为它正在寻找app.js作为相对脚本,而不是具有已定义路径的模块.

这是我的build.js文件(appDir,dir和mainConfigFile是相对于build.js文件):

({
    appDir: "../src",
    baseUrl: ".",
    dir: "../target",
    mainConfigFile: "../src/main.js",
    findNestedDependencies: true,
    modules: [
        {
            name: "main"
        }
    ]
})
Run Code Online (Sandbox Code Playgroud)

javascript amd requirejs r.js

8
推荐指数
1
解决办法
7104
查看次数

在NASM中使用OR r/m32,imm32

生成的操作码:

or ebx, 0ffffffffh
Run Code Online (Sandbox Code Playgroud)

与NASM是:

83CBFF
Run Code Online (Sandbox Code Playgroud)

但在英特尔说明手册中:

81 /1 id      OR r/m32, imm32
83 /1 ib      OR r/m32, imm8
Run Code Online (Sandbox Code Playgroud)

我的问题是,为什么NA​​SM使用操作码83代替81,以及如何生成操作码81

这是NASM的命令行: nasm -fwin32 file.asm -l list.lst

x86 assembly amd intel

8
推荐指数
1
解决办法
422
查看次数

FFmpeg:在 Windows 上使用 AMD GPU 编码 x264?

我目前正在尝试使用 Windows 10 上的 FFmpeg 在带有内置网络摄像头的联想笔记本电脑上录制视频。我的目标之一是尽可能降低 CPU 使用率,这就是为什么我想将 h264 编码推送到图形处理器。现在我的笔记本电脑有点棘手。因为它使用了两个 GPU。第一个 GPU 是作为 CPU 一部分的 Intel HD 5500 图形单元。这个最有可能用于非要求的应用程序,如办公室等,以节省能源。另一个是 AMD R5 M330,将用于游戏等图形密集型应用程序。

目前,我正在使用以下命令对 Intel HD GPU 上的网络摄像头流进行编码:

ffmpeg -f dshow -vcodec mjpeg -video_size 1280x720 -framerate 30 video="Lenovo EasyCamera":audio="Mikrofon (Realtek High Definition Audio)" -c:v h264_qsv -g 60 -q 28 -look_ahead 0 -preset:v faster -c:a aac -q:a 0.6 -r 30 output.mp4
Run Code Online (Sandbox Code Playgroud)

到目前为止这确实有效,但似乎这个 GPU 没有足够的能力来跟上更高比特率或大量 i 帧的帧率。视频开始缺帧和跳帧。如果我使用 CPU 编码,一切正常。

既然我的笔记本电脑获得了第二个 AMD GPU,它的功率要大得多,尝试在那个 GPU 上进行编码会很不错,但我找不到有关如何在 Windows 10 上的 AMD 硬件上进行编码的任何信息。所以我的问题是: ffmpeg 命令如何使用 AMD 硬件进行 …

encoding gpu ffmpeg amd h.264

8
推荐指数
1
解决办法
2万
查看次数

intel core i7处理器使用哪种缓存映射技术?

我已经了解了不同的缓存映射技术,如直接映射,关联映射和集合关联映射技术,还学习了权衡.但我很好奇现在在intel core i7或AMD处理器中使用了什么.以及这些技术是如何演变的.还有哪些事情需要改进?

x86 amd intel cpu-architecture cpu-cache

8
推荐指数
1
解决办法
2255
查看次数

警告:'chart.js'。CommonJS 或 AMD 依赖项可能导致优化救助

ng2-charts.js 依赖于'chart.js'。CommonJS 或 AMD 依赖项可能会导致优化救助。
有关更多信息,请参阅:https : //angular.io/guide/build#configuring-commonjs-dependencies

optimization dependencies warnings amd commonjs

8
推荐指数
1
解决办法
2641
查看次数